You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Introduced a composite action for draft releases, consolidating the release process.
- Added a new script to compile release notes from a shared changelog template.
- Created a structured YAML template for changelog categories and exclusions.
- Updated README to reflect new structure and usage instructions.
- Removed previously implemented reusable workflow and streamlined the workflow for better maintainability.
| ✨ New Features |`feature`| Customer-facing features, enhancements, or structural additions. |
39
-
| 🔬 Scientific & Algorithmic Updates |`science`, `technical`|**science:** Domain-specific mathematical changes or model updates.<br>**technical:** Deep algorithmic optimisations or background logic shifts. |
33
+
| 🔬 Scientific & Algorithmic Updates |`science`, `technical`|**science**: Domain-specific mathematical changes or model updates.<br>**technical**: Deep algorithmic optimisations or background logic shifts. |
40
34
| 📚 Documentation |`documentation`| Changes isolated to READMEs, inline code docstrings, scientific documentation, working practices, or other non-functional documentation updates. |
41
35
| ⚡ Performance Improvements |`optimisation`| Direct speed execution metrics, runtime improvements, memory, storage, or other resource optimisations. |
42
36
| ♻️ Refactoring |`refactor`| Code cleanup, modularisation, or other internal improvements without behavior changes. |
37
+
| 🛠️ Maintenance |`build`, `chore`, `ci`|**build**: Changes affecting build tools or external compiler toolchains.<br>**chore**: General housekeeping, licence updates, or minor administrative tasks.<br>**ci**: Changes to GitHub Actions workflows, CI/CD pipelines, or other automation.|
38
+
39
+
> [!NOTE]
40
+
> First time contributors are added automatically when the merged PR has an
41
+
> `author_association` of `FIRST_TIME_CONTRIBUTOR`.
43
42
44
43
### Excluded Labels
45
44
@@ -48,109 +47,85 @@ output entirely, regardless of any other labels they carry:
48
47
49
48
| Label | Purpose |
50
49
| ----- | ------- |
51
-
|`build`| Changes affecting build tools or external compiler toolchains. |
52
-
|`chore`| General housekeeping, license updates, or minor administrative tasks. |
53
-
|`ci`| Modifications to GitHub Actions workflows or automation systems. |
54
50
|`ignore-changelog`| Escape-hatch label to manually suppress a specific PR from the logs. |
55
51
|`test`| Changes related to testing frameworks or test cases. |
56
52
|`wip`| Work in progress PRs that are not ready for release. |
57
53
58
-
## Permissions
59
-
60
-
The calling execution job block must explicitly declare `contents: write` to
61
-
authorise the native GitHub CLI runner to write assets and publish release
62
-
footprints:
63
-
64
-
```yaml
65
-
permissions:
66
-
contents: write
67
-
pull-requests: read
68
-
```
69
-
70
-
## Usage
54
+
## How It Works
71
55
72
-
To ensure deterministic behaviour across versions, use the same reference for
73
-
both the workflow and `template-ref`.
56
+
1. Checks out the caller repository into `local-code` with full tag history.
57
+
2. Runs `draft-release/bin/compile-release-notes.sh` to:
58
+
- find release commits,
59
+
- map merged PRs to changelog categories from
60
+
`draft-release/templates/release.yml`,
61
+
- write `release-notes.md` and set `has_commits` output.
62
+
3. If commits exist, creates or updates a draft release for the current tag.
74
63
75
-
### Variant A: Production Tag Auto-Trigger (Recommended)
0 commit comments