-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cicd: add actions and templates (#5)
- Loading branch information
1 parent
a35a1fa
commit ca84cce
Showing
6 changed files
with
285 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
name: Bug Report | ||
description: Report a bug. | ||
labels: ["bug"] | ||
body: | ||
- type: textarea | ||
attributes: | ||
label: Describe the bug | ||
description: Provide a clear and concise description of what the bug is. | ||
validations: | ||
required: true | ||
- type: textarea | ||
attributes: | ||
label: Steps to reproduce | ||
description: Provide detailed steps to replicate the bug. | ||
placeholder: | | ||
1. In this environment... | ||
2. With this config... | ||
3. Run '...' | ||
4. See error... | ||
validations: | ||
required: true | ||
- type: textarea | ||
attributes: | ||
label: Expected behavior | ||
description: What did you expect to happen? | ||
validations: | ||
required: true | ||
- type: textarea | ||
attributes: | ||
label: Current behavior | ||
description: | | ||
What actually happened? | ||
Include full errors, stack traces, and/or relevant logs. | ||
validations: | ||
required: true | ||
- type: textarea | ||
attributes: | ||
label: Possible reason(s) | ||
description: Provide any insights into what might be causing the issue. | ||
validations: | ||
required: false | ||
- type: textarea | ||
attributes: | ||
label: Suggested fix | ||
description: Provide any suggestions on how to resolve the bug. | ||
validations: | ||
required: false | ||
- type: textarea | ||
attributes: | ||
label: Branch, commit, and/or version | ||
description: Provide the branch, commit, and/or version you're using. | ||
placeholder: | | ||
branch: issue-1 | ||
commit: abc123d | ||
validations: | ||
required: true | ||
- type: textarea | ||
attributes: | ||
label: Screenshots | ||
description: If applicable, add screenshots with descriptions to help explain your problem. | ||
validations: | ||
required: false | ||
- type: textarea | ||
attributes: | ||
label: Environment details | ||
description: Provide environment details (OS name and version, etc). | ||
validations: | ||
required: true | ||
- type: textarea | ||
attributes: | ||
label: Additional details | ||
description: Provide any other additional details about the problem. | ||
validations: | ||
required: false | ||
- type: dropdown | ||
attributes: | ||
label: Contribution | ||
description: Can you contribute to the development of this feature? | ||
options: | ||
- "Yes, I can create a PR for this fix." | ||
- "Yes, but I can only provide ideas and feedback." | ||
- "No, I cannot contribute." | ||
validations: | ||
required: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
name: Feature Request | ||
description: Suggest an idea for this project. | ||
labels: ["enhancement"] | ||
body: | ||
- type: textarea | ||
attributes: | ||
label: Feature description | ||
description: Provide a clear and concise description of what you want to happen. | ||
validations: | ||
required: true | ||
- type: textarea | ||
attributes: | ||
label: Use case | ||
description: | | ||
Why do you need this feature? For example: "I'm always frustrated when..." | ||
validations: | ||
required: true | ||
- type: textarea | ||
attributes: | ||
label: Proposed solution | ||
description: Provide proposed solution. | ||
validations: | ||
required: false | ||
- type: textarea | ||
attributes: | ||
label: Alternatives considered | ||
description: Describe any alternative solutions you've considered. | ||
validations: | ||
required: false | ||
- type: textarea | ||
attributes: | ||
label: Implementation details | ||
description: Provide any technical details on how the feature might be implemented. | ||
validations: | ||
required: false | ||
- type: textarea | ||
attributes: | ||
label: Potential Impact | ||
description: | | ||
Discuss any potential impacts of this feature on existing functionality or performance, if known. | ||
Will this feature cause breaking changes? | ||
What challenges might arise? | ||
validations: | ||
required: false | ||
- type: textarea | ||
attributes: | ||
label: Additional context | ||
description: Provide any other context or screenshots about the feature. | ||
validations: | ||
required: false | ||
- type: dropdown | ||
attributes: | ||
label: Contribution | ||
description: Can you contribute to the development of this feature? | ||
options: | ||
- "Yes, I can create a PR for this feature." | ||
- "Yes, but I can only provide ideas and feedback." | ||
- "No, I cannot contribute." | ||
validations: | ||
required: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
name: checks | ||
on: [push, pull_request] | ||
jobs: | ||
test: | ||
name: test py${{ matrix.python-version }} | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
python-version: ["3.10", "3.11", "3.12"] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Set up Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Install dependencies | ||
run: | | ||
python3 -m pip install ".[tests]" | ||
- name: Run tests | ||
run: python3 -m pytest | ||
|
||
lint: | ||
name: lint | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Setup Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.11" | ||
|
||
- name: Install dependencies | ||
run: python3 -m pip install ".[dev]" | ||
|
||
- name: Check style | ||
run: python3 -m ruff check . && python3 -m ruff format --check . |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
name: Pull Request Has Priority Label | ||
on: | ||
pull_request: | ||
types: [opened, labeled, unlabeled, synchronize] | ||
jobs: | ||
pr-priority-label: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
issues: write | ||
pull-requests: write | ||
outputs: | ||
status: ${{ steps.check-labels.outputs.status }} | ||
steps: | ||
- id: check-labels | ||
uses: mheap/github-action-required-labels@v5 | ||
with: | ||
mode: exactly | ||
count: 1 | ||
labels: "priority:*" | ||
use_regex: true | ||
add_comment: true | ||
message: "PRs require a priority label. Please add one." | ||
exit_type: failure |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
# https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/ | ||
name: Publish Python distribution to PyPI | ||
|
||
on: | ||
release: | ||
types: [created] | ||
|
||
jobs: | ||
build: | ||
name: Build distribution | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.x" | ||
- name: Install pypa/build | ||
run: >- | ||
python3 -m | ||
pip install | ||
build | ||
--user | ||
- name: Build a binary wheel and a source tarball | ||
run: python3 -m build | ||
- name: Store the distribution packages | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: python-package-distributions | ||
path: dist/ | ||
publish-to-pypi: | ||
name: >- | ||
Publish Python distribution to PyPI | ||
needs: | ||
- build | ||
runs-on: ubuntu-latest | ||
environment: | ||
name: pypi | ||
url: https://pypi.org/p/regbot | ||
permissions: | ||
id-token: write # IMPORTANT: mandatory for trusted publishing | ||
steps: | ||
- name: Download all the dists | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: python-package-distributions | ||
path: dist/ | ||
- name: Publish distribution to PyPI | ||
uses: pypa/gh-action-pypi-publish@release/v1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
name: "Stalebot for issues and PRs" | ||
|
||
on: | ||
schedule: | ||
- cron: "30 13 * * 1-5" | ||
|
||
jobs: | ||
stale-high-priority: | ||
uses: genomicmedlab/software-templates/.github/workflows/reusable-stale.yaml | ||
with: | ||
days-before-issue-stale: 90 | ||
days-before-pr-stale: 1 | ||
labels: priority:high | ||
|
||
stale-medium-priority: | ||
uses: genomicmedlab/software-templates/.github/workflows/reusable-stale.yaml | ||
with: | ||
days-before-issue-stale: 135 | ||
days-before-pr-stale: 3 | ||
labels: priority:medium | ||
|
||
stale-low-priority: | ||
uses: genomicmedlab/software-templates/.github/workflows/reusable-stale.yaml | ||
with: | ||
days-before-issue-stale: 180 | ||
days-before-pr-stale: 7 | ||
labels: priority:low |