summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.md29
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.yml83
-rw-r--r--.github/ISSUE_TEMPLATE/feature_request.yml36
-rw-r--r--.github/dependabot.yml11
-rw-r--r--.github/workflows/docs_publish.yml32
-rw-r--r--.github/workflows/docs_source_update.yml37
-rw-r--r--.github/workflows/formatting_check.yml26
-rw-r--r--.github/workflows/linting_check.yml26
-rw-r--r--.github/workflows/pypi-publish-release.yml12
-rw-r--r--.github/workflows/unit_tests.yml25
10 files changed, 282 insertions, 35 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index 8a0d833..0000000
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve pkb_client
-title: ''
-labels: bug
-assignees: ''
-
----
-
-**Describe the bug**
-A clear and concise description of what the bug is.
-
-**To Reproduce**
-Steps to reproduce the behavior.
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
-**pkb-client Command**
-Specify the exact command of pkb-client. **Make sure to anonymize your Porkbun API key and secret and your Porkbun domain/subdomain.**
-
-**Versions (please complete the following version information):**
- - pkb_client: [you can use `pip show pkb_client` to get the version]
-
-**Error message**
-The returned error message.
-
-**Additional context**
-Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 0000000..5b12aa8
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,83 @@
+name: Bug Report
+description: File a bug report
+title: "[Bug]: "
+labels: ["bug", "triage"]
+
+body:
+ - type: markdown
+ attributes:
+ value: "Thanks for taking the time to fill out this bug report!"
+
+ - type: textarea
+ id: system-os-info
+ attributes:
+ label: OS info
+ description: The operating system and version you are using.
+ placeholder: eg. Debian 12 , Ubuntu 23.10, Arch 6.6.3, Windows 10, MacOS 12
+ validations:
+ required: true
+
+ - type: textarea
+ id: version-info
+ attributes:
+ label: pkb_client version
+ description: The pkb_client version you are using.
+ placeholder: eg. v1.2
+ validations:
+ required: true
+
+ - type: textarea
+ id: bug-description
+ attributes:
+ label: Bug description
+ description: A clear and precise description of what the bug is.
+ placeholder: What happend?
+ validations:
+ required: true
+
+ - type: textarea
+ id: expected-description
+ attributes:
+ label: Expected behaviour description
+ description: A simple and precise description of the expected behavior.
+ placeholder: What should happend?
+ validations:
+ required: true
+
+ - type: textarea
+ id: logs
+ attributes:
+ label: Relevant log output
+ description: Please copy and paste any relevant log output.
+ render: shell
+ validations:
+ required: false
+
+ - type: textarea
+ id: reproduce-steps
+ attributes:
+ label: Steps to reproduce
+ description: Steps to reproduce the behavior.
+ placeholder: How can the error be reproduced?
+ validations:
+ required: true
+
+ - type: textarea
+ id: additional-context
+ attributes:
+ label: Additional context
+ description: All further information on the context of the bug that does not belong to the other sections, such as a workaround or already tested approaches to a solution.
+ placeholder: Is there any further context?
+ validations:
+ required: false
+
+ - type: checkboxes
+ id: checklist
+ attributes:
+ label: Checklist
+ description: Please check off the following checklist after you have performed the corresponding actions
+ options:
+ - label: I have checked for [existing Github issues](https://github.com/infinityofspace/pkb_client/issues) for the same bug.
+ required: true
+ - label: I have checked to see if there is newer current version that already fixes this error.
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 0000000..2b82445
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -0,0 +1,36 @@
+name: Feature Request
+description: File a feature request
+title: "[Enhancement] "
+labels: ["enhancement"]
+
+body:
+ - type: markdown
+ attributes:
+ value: "Thanks for taking the time to fill out this feature request!"
+
+ - type: textarea
+ id: problem-description
+ attributes:
+ label: Problem description
+ description: Description of the problem that needs to be solved.
+ placeholder: What problem should be solved?
+ validations:
+ required: true
+
+ - type: textarea
+ id: solution-description
+ attributes:
+ label: Solution description
+ description: Description of a possible problem solution.
+ placeholder: Ideas for a solution?
+ validations:
+ required: false
+
+ - type: checkboxes
+ id: checklist
+ attributes:
+ label: Checklist
+ description: Please check off the following checklist after you have performed the corresponding actions
+ options:
+ - label: I have checked for [existing Github issues](https://github.com/infinityofspace/pkb_client/issues) for the same feature request.
+ required: true
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..670670d
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,11 @@
+version: 2
+updates:
+ - package-ecosystem: "pip"
+ directory: "/"
+ schedule:
+ interval: "daily"
+
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: "daily"
diff --git a/.github/workflows/docs_publish.yml b/.github/workflows/docs_publish.yml
new file mode 100644
index 0000000..af146b2
--- /dev/null
+++ b/.github/workflows/docs_publish.yml
@@ -0,0 +1,32 @@
+name: build and publish docs
+
+on:
+ push:
+ tags:
+ - "v*"
+ branches: # for testing
+ - main
+
+jobs:
+ build:
+ name: build and publish docs
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Set up Python 3.12
+ uses: actions/setup-python@v5.3.0
+ with:
+ python-version: 3.12
+
+ - name: Install sphinx
+ run: pip install sphinx
+
+ - name: Build docs
+ run: cd docs && make html
+
+ - name: Publish docs to GitHub Pages
+ uses: peaceiris/actions-gh-pages@v4
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: docs/build/html
diff --git a/.github/workflows/docs_source_update.yml b/.github/workflows/docs_source_update.yml
new file mode 100644
index 0000000..c80ee0b
--- /dev/null
+++ b/.github/workflows/docs_source_update.yml
@@ -0,0 +1,37 @@
+name: update docs source
+
+on:
+ push:
+ branches:
+ - main
+ paths:
+ - pkb_client/**
+
+jobs:
+ update:
+ name: update docs source
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Set up Python 3.12
+ uses: actions/setup-python@v5.3.0
+ with:
+ python-version: 3.12
+
+ - name: Install sphinx
+ run: pip install sphinx
+
+ - name: Build docs source
+ run: sphinx-apidoc -f -o docs/source pkb_client
+
+ - name: Open PR with changes
+ uses: peter-evans/create-pull-request@v7
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
+ title: "[Docs]: update docs source"
+ commit-message: "update docs source"
+ branch: "docs_source_update"
+ delete-branch: true
+ label: "docs-update"
+ add-paths: docs/source
diff --git a/.github/workflows/formatting_check.yml b/.github/workflows/formatting_check.yml
new file mode 100644
index 0000000..fadbadd
--- /dev/null
+++ b/.github/workflows/formatting_check.yml
@@ -0,0 +1,26 @@
+name: formatting check
+
+on:
+ push:
+ pull_request:
+
+jobs:
+ formatting-check:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ python-version: [ "3.13" ]
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v5.3.0
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - name: Install requirements
+ run: pip install -r requirements.txt
+
+ - name: Check formatting
+ run: ruff format --check
diff --git a/.github/workflows/linting_check.yml b/.github/workflows/linting_check.yml
new file mode 100644
index 0000000..e223b36
--- /dev/null
+++ b/.github/workflows/linting_check.yml
@@ -0,0 +1,26 @@
+name: linting check
+
+on:
+ push:
+ pull_request:
+
+jobs:
+ linting-check:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ python-version: [ "3.13" ]
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v5.3.0
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - name: Install requirements
+ run: pip install -r requirements.txt
+
+ - name: Check formatting
+ run: ruff check
diff --git a/.github/workflows/pypi-publish-release.yml b/.github/workflows/pypi-publish-release.yml
index 2071faa..5150277 100644
--- a/.github/workflows/pypi-publish-release.yml
+++ b/.github/workflows/pypi-publish-release.yml
@@ -10,12 +10,12 @@ jobs:
name: Build distribution
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@master
+ - uses: actions/checkout@v4
- - name: Set up Python 3.6
- uses: actions/setup-python@v2
+ - name: Set up Python 3.9
+ uses: actions/setup-python@v5.3.0
with:
- python-version: 3.6
+ python-version: 3.9
- name: Install pep517
run: >-
@@ -34,7 +34,7 @@ jobs:
.
- name: Upload distribution artifact for other jobs
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: pkb_client_dist
path: dist/
@@ -45,7 +45,7 @@ jobs:
needs: build
steps:
- name: Download distribution from build job
- uses: actions/download-artifact@v2
+ uses: actions/download-artifact@v4
with:
name: pkb_client_dist
path: dist/
diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml
new file mode 100644
index 0000000..53e60e1
--- /dev/null
+++ b/.github/workflows/unit_tests.yml
@@ -0,0 +1,25 @@
+name: unit tests
+
+on:
+ push:
+
+jobs:
+ tests:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v5.3.0
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - name: Install requirements
+ run: pip install -r requirements.txt
+
+ - name: Run unit tests
+ run: python -m unittest tests/client.py