docs: add RELEASING.md, bump workflow actions to Node 24#13
Merged
Conversation
docs/RELEASING.md captures the release flow as observed during the v0.4.0-rc0 smoke test: prerequisites, the four version-bump locations, the rc → final cycle with copy-pasteable commands, the workflow gate table, common failure modes, and post-release verification. Mirrors the forbin-mcp pattern but tailored to this project's TestPyPI staging track. Bump every pinned action to its latest major to clear the Node.js 20 deprecation warnings GitHub flagged on the v0.4.0-rc0 run: actions/checkout v4 -> v6 astral-sh/setup-uv v4 -> v8 actions/upload-artifact v4 -> v7 actions/download-artifact v4 -> v8 Each major versioned independently per its maintainer's release cadence. Node.js 20 is forced off runners in June 2026 and removed in September 2026; this gets us off well before then.
There was a problem hiding this comment.
Pull request overview
Adds a documented, tag-driven release procedure for openarmature and updates GitHub Actions dependencies to avoid upcoming Node.js 20 deprecation/removal issues on runners.
Changes:
- Added
docs/RELEASING.mddocumenting the end-to-end RC → final release workflow, gating behavior, and common failure modes. - Bumped pinned GitHub Actions in
ci.ymlandrelease.ymlto newer majors intended to run on newer Node runtimes.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| docs/RELEASING.md | New release-process documentation, including tag/job gating and verification steps |
| .github/workflows/release.yml | Updates action versions used across release pipeline jobs |
| .github/workflows/ci.yml | Updates action versions used in CI workflow |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The previous bump used @v8 but astral-sh/setup-uv doesn't publish a moving major tag — only full SemVer tags (v8.1.0, v8.0.0, etc.). The test job failed with "Unable to resolve action astral-sh/setup-uv@v8, unable to find version v8". Pinning to v8.1.0 (the latest released tag) fixes resolution. The other three actions (actions/checkout, upload-artifact, download-artifact) all DO publish moving major tags, so @v6/@v7/@v8 remain valid for those.
- Drop "annotated" qualifier from the opener — every example uses a lightweight tag and tag-triggered workflows fire on either kind. - Remove the stale Future work bullet about bumping action versions; the same PR already does that.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The RELEASING.md doc claimed pre-commit regenerates uv.lock when pyproject.toml changes, but no hook was actually configured to do that. The behavior worked incidentally because the pyright hook runs `uv run`, which triggered uv to re-sync as a side effect. Adding astral-sh/uv-pre-commit's uv-lock hook makes it explicit so the docs claim is accurate and the lockfile sync no longer depends on pyright happening to run uv first.
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two small workflow housekeeping items in one PR.
1.
docs/RELEASING.mdDocuments the release flow we just verified end-to-end on
v0.4.0-rc0. Sections:Mirrors the forbin-mcp pattern but tailored to this project's TestPyPI staging track and Trusted Publishing setup.
2. Action version bumps
The
v0.4.0-rc0workflow run flagged Node.js 20 deprecation warnings on every job. Bumping all pinned actions to their latest major:actions/checkout@v4@v6astral-sh/setup-uv@v4@v8actions/upload-artifact@v4@v7actions/download-artifact@v4@v8Each maintainer versioned independently — hence the different numbers. Node.js 20 is forced off runners in June 2026 and removed in September 2026.
Test plan
docs/RELEASING.mdcontent reflects what actually happened on the v0.4.0-rc0 run (not aspirational — verified).