Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: "🐞 Bug Report"
description: Report a reproducible bug.
type: "Bug"
body:
- type: checkboxes
attributes:
label: Pre-flight
options:
- label: I searched existing issues and this is not a duplicate.
required: true

- type: textarea
id: summary
attributes:
label: Summary
description: One or two sentences describing the bug.
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Reproduction
description: Steps and/or a minimal code example that reproduces the issue. Wrap code in triple backticks.
placeholder: |
1. Import X and call Y with Z
2. Observe error

```python
# minimal example
```
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual behaviour
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected behaviour
validations:
required: true

- type: textarea
id: logs
attributes:
label: Error output
description: Full traceback if applicable. Formatted automatically.
render: python-traceback

- type: textarea
id: system
attributes:
label: System info
description: |
Run this in your environment and paste the output:

```shell
python <(curl -s https://raw.githubusercontent.com/AustralianCancerDataNetwork/cava-devops/main/scripts/cava_system_info.py)
```
render: shell
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Discussions
url: https://github.com/orgs/AustralianCancerDataNetwork/discussions
about: Questions and general discussion about the CAVA stack.
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: "🚀 Feature Request"
description: Propose a new feature or enhancement.
type: "Feature"
body:
- type: checkboxes
attributes:
label: Pre-flight
options:
- label: I searched existing issues and this has not been requested before.
required: true

- type: textarea
id: problem
attributes:
label: Problem or motivation
description: What are you trying to do that you currently cannot?
validations:
required: true

- type: textarea
id: proposal
attributes:
label: Proposed solution
description: How would you like this to work?
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Other approaches you considered and why you ruled them out.
65 changes: 65 additions & 0 deletions .github/ISSUE_TEMPLATE/not_working.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: "❗ Something is not working"
description: Something behaves unexpectedly but you are not sure if it is a bug.
body:
- type: checkboxes
attributes:
label: Pre-flight
options:
- label: I searched existing issues for this problem.
required: true

- type: textarea
id: summary
attributes:
label: Problem summary
description: 1-2 sentences describing what is not working.
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Reproduction
description: Steps and/or a minimal code example. Wrap code in triple backticks.
placeholder: |
1. Import X and call Y with Z
2. Observe unexpected behaviour

```python
# minimal example
```
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual outcome
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected outcome
validations:
required: true

- type: textarea
id: logs
attributes:
label: Error messages
description: Full traceback if applicable. Formatted automatically.
render: python-traceback

- type: textarea
id: system
attributes:
label: System info
description: |
Run this in your environment and paste the output:

```shell
python <(curl -s https://raw.githubusercontent.com/AustralianCancerDataNetwork/cava-devops/main/scripts/cava_system_info.py)
```
render: shell
9 changes: 9 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Summary

<!-- What does this PR do? This text becomes the changelog entry — write it for a reader who will see it months from now, not for the reviewer reading the diff. Leave blank for chore PRs. -->

## Checklist

- [ ] Applied exactly one label (`breaking`, `feature`, `fix`, `dependencies`, or `chore`)
- [ ] Tests pass locally (`uv run pytest -q`)
- [ ] Lint passes (`uv run ruff check .`)
31 changes: 31 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name-template: 'v$RESOLVED_VERSION'
tag-template: 'v$RESOLVED_VERSION'
commitish: main

categories:
- title: Breaking Changes
labels: ['breaking']
- title: Features
labels: ['feature']
- title: Fixes
labels: ['fix']
- title: Dependencies
labels: ['dependencies']

template: |
$CHANGES

change-template: '- **$TITLE** (#$NUMBER) @$AUTHOR'

version-resolver:
major:
labels: ['breaking']
minor:
labels: ['feature']
patch:
labels: ['fix', 'dependencies']
default: patch

exclude-labels: ['chore']

autolabeler: []
10 changes: 10 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: CI
on:
pull_request:
branches: [main]
types: [opened, synchronize, reopened, labeled, unlabeled]
jobs:
label-gate:
uses: AustralianCancerDataNetwork/cava-devops/.github/workflows/label-gate.yml@main
build-test:
uses: AustralianCancerDataNetwork/cava-devops/.github/workflows/build-test.yml@main
10 changes: 10 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: Deploy Docs
on:
push:
tags: ['v*']
workflow_dispatch:
permissions:
contents: write
jobs:
deploy:
uses: AustralianCancerDataNetwork/cava-devops/.github/workflows/deploy-docs.yml@main
13 changes: 13 additions & 0 deletions .github/workflows/merge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Release Update
on:
pull_request:
types: [closed]
branches: [main]
permissions:
contents: write
pull-requests: read
jobs:
draft:
if: github.event.pull_request.merged == true
uses: AustralianCancerDataNetwork/cava-devops/.github/workflows/release-drafter.yml@main
secrets: inherit
21 changes: 21 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Publish
on:
push:
tags: ['v*']
jobs:
build:
uses: AustralianCancerDataNetwork/cava-devops/.github/workflows/publish.yml@main
publish:
# Inline: PyPI OIDC checks job_workflow_ref, which must point to this file.
# Moving pypa/gh-action-pypi-publish into cava-devops would break the trusted publisher.
needs: build
runs-on: ubuntu-latest
permissions:
id-token: write
environment:
name: pypi
url: https://pypi.org/p/groundskeeping
steps:
- uses: actions/download-artifact@v4
with: { name: dist, path: dist/ }
- uses: pypa/gh-action-pypi-publish@release/v1
Loading
Loading