Skip to content

docs: add RELEASING.md, bump workflow actions to Node 24#13

Merged
chris-colinsky merged 4 commits into
mainfrom
chore/release-docs
May 6, 2026
Merged

docs: add RELEASING.md, bump workflow actions to Node 24#13
chris-colinsky merged 4 commits into
mainfrom
chore/release-docs

Conversation

@chris-colinsky
Copy link
Copy Markdown
Member

Summary

Two small workflow housekeeping items in one PR.

1. docs/RELEASING.md

Documents the release flow we just verified end-to-end on v0.4.0-rc0. Sections:

  • Prerequisites (Trusted Publisher pending entries + GitHub Environments)
  • Where the version lives (the four files that bump together)
  • The full rc → final cycle with copy-pasteable commands
  • A gate table showing which workflow jobs fire for which tag patterns
  • Common failure modes (OIDC trust errors, version mismatch, skipped jobs)
  • Post-release verification

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-rc0 workflow run flagged Node.js 20 deprecation warnings on every job. Bumping all pinned actions to their latest major:

Action From To
actions/checkout @v4 @v6
astral-sh/setup-uv @v4 @v8
actions/upload-artifact @v4 @v7
actions/download-artifact @v4 @v8

Each maintainer versioned independently — hence the different numbers. Node.js 20 is forced off runners in June 2026 and removed in September 2026.

Test plan

  • Both YAML files still parse cleanly.
  • docs/RELEASING.md content reflects what actually happened on the v0.4.0-rc0 run (not aspirational — verified).
  • CI run on this PR completes without the Node 20 deprecation warnings.

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.
Copilot AI review requested due to automatic review settings May 6, 2026 01:58
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.md documenting the end-to-end RC → final release workflow, gating behavior, and common failure modes.
  • Bumped pinned GitHub Actions in ci.yml and release.yml to 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.

Comment thread docs/RELEASING.md
Comment thread docs/RELEASING.md Outdated
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.
Copilot AI review requested due to automatic review settings May 6, 2026 02:05
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread docs/RELEASING.md
Comment thread docs/RELEASING.md
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.
@chris-colinsky chris-colinsky merged commit fa74c5a into main May 6, 2026
5 checks passed
@chris-colinsky chris-colinsky deleted the chore/release-docs branch May 6, 2026 15:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants