Add the release workflow (MIL-004 task 5) #80

Merged
Tirsvad merged 1 commits from mil-004-release-workflow into main 2026-10-10 17:02:01 +02:00
Owner

Adds the release workflow (MIL-004 task 5).

  • .gitea/workflows/release.yml: started by hand with a version and dry_run (default true). It runs tools/release.py with the token of its own run (ADR-0007); TOKEN_FOR_GITEA_RELEASE overrides it when set.
  • tools/release.py: refuses unless the commit is the tip of main, its Validate workflows / validate (push) status is success, the changelog has an entry for the version and the tag does not exist; then creates the release page from the changelog entry (which creates the tag) and moves the major tag when the version is the highest of its major.
  • tests/test_release.py: 19 offline tests, including the two acceptance criteria of US-001.11 and US-001.12.
  • Release-process guide, changelog (Unreleased) and README row updated; Capabilities wiki page regenerated and its da/ms translations updated.

The workflow is for this repository only (a workflow_dispatch, not a workflow_call). The use case is UC-006; no new use case was needed.

Not yet verified: that the job token may create the tag and move the major tag. The first real run (the dry run of 1.0.0) is the check; ADR-0007 names the fallback.

Closes #24

Adds the release workflow (MIL-004 task 5). - `.gitea/workflows/release.yml`: started by hand with a version and `dry_run` (default `true`). It runs `tools/release.py` with the token of its own run (ADR-0007); `TOKEN_FOR_GITEA_RELEASE` overrides it when set. - `tools/release.py`: refuses unless the commit is the tip of `main`, its `Validate workflows / validate (push)` status is success, the changelog has an entry for the version and the tag does not exist; then creates the release page from the changelog entry (which creates the tag) and moves the major tag when the version is the highest of its major. - `tests/test_release.py`: 19 offline tests, including the two acceptance criteria of US-001.11 and US-001.12. - Release-process guide, changelog (Unreleased) and README row updated; Capabilities wiki page regenerated and its da/ms translations updated. The workflow is for this repository only (a `workflow_dispatch`, not a `workflow_call`). The use case is UC-006; no new use case was needed. Not yet verified: that the job token may create the tag and move the major tag. The first real run (the dry run of `1.0.0`) is the check; ADR-0007 names the fallback. Closes #24
Tirsvad added 1 commit 2026-10-10 17:01:43 +02:00
Add the release workflow and its script
TirSystem/github-action: Publish wiki / publish-wiki (push) Skipped
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Skipped
Validate workflows / validate (pull_request) Successful in 15s
27abd226c4
Task: MIL-004#5
Tirsvad merged commit be147af60c into main 2026-10-10 17:02:01 +02:00
Tirsvad deleted branch mil-004-release-workflow 2026-10-10 17:02:02 +02:00
Sign in to join this conversation.