Skip to content

Set the version to 0.17.0rc1 for the rc tag - #310

Merged
chris-colinsky merged 1 commit into
mainfrom
chore/version-for-rc1
Oct 5, 2026
Merged

chris-colinsky merged 1 commit into
mainfrom
chore/version-for-rc1

Conversation

@chris-colinsky

Copy link
Copy Markdown
Member

Step one of two version bumps. This must merge before v0.17.0-rc1 is pushed, or the tag fails.

Why

release.yml compares pyproject's version to the pushed tag through packaging.version.Version:

if Version(pyproj) != Version(tag):
    sys.exit("::error::version mismatch: ...")

Version("0.17.0") != Version("0.17.0rc1"), so pushing the rc tag against the current main fails the test job before any publish step runs.

RELEASING.md:64-67 calls for two separate commits, one before each tag, "because the normalized forms differ". The bump in #308 was the real-release form done early: correct for v0.17.0, wrong for the rc.

Precedent

v0.16.0-rc1 v0.16.0
pyproject version 0.16.0rc1 0.16.0
__version__ 0.16.0rc1 0.16.0
test_smoke assertion 0.16.0rc1 0.16.0

All three move together, which is what RELEASING.md:66-67 requires.

Five files, not three

RELEASING.md names pyproject, __version__ and the smoke-test assertion. Two more carry it and regenerate:

  • uv.lock locks the local package's own version
  • src/openarmature/AGENTS.md stamps version 0.17.0rc1 (spec v0.118.2) into its header

Both diffs are one line each.

Verified against the workflow's own comparison

tag v0.17.0-rc1  -> pyproject=0.17.0rc1  normalized 0.17.0rc1 vs 0.17.0rc1  OK
tag v0.17.0      -> pyproject=0.17.0rc1  normalized 0.17.0rc1 vs 0.17.0     MISMATCH

The second line is correct and expected. The real-release tag needs the second bump, which is a separate PR after the rc is verified.

Artifacts build and carry the rc version:

openarmature-0.17.0rc1.tar.gz
openarmature-0.17.0rc1-py3-none-any.whl    Version: 0.17.0rc1   Metadata-Version: 2.4

Metadata-Version: 2.4 confirms the hatchling<1.30 pin still holds.

Note on the CHANGELOG date

The 0.17.0 heading says 2026-10-04, correct as of this PR being opened. It documents the release rather than the rc, so it does not move for the rc tag — but if the real-release tag slips to another day it needs refreshing before v0.17.0.

After this

v0.17.0-rc1 to TestPyPI only. No PyPI, no GitHub Release. Then verify the artifact installs from the index and the examples run against it, then a second PR returning the version to 0.17.0 before v0.17.0.

The release workflow compares pyproject's version to the pushed tag
through packaging.version.Version, so an rc needs the rc version in
pyproject: Version("0.17.0") != Version("0.17.0rc1") and the test job
fails before any publish step runs.

RELEASING.md calls for these as two separate commits, one before each
tag, because the normalized forms differ. The bump in #308 was the
real-release form done early, correct for v0.17.0 and wrong for the rc.
v0.16.0-rc1 carried 0.16.0rc1 in all three places and v0.16.0 carried
0.16.0, which is the precedent.

Five files rather than three: uv.lock locks the local package's own
version, and the bundled AGENTS.md stamps it into its header. Both
regenerate.

Verified against the workflow's own comparison: the rc tag matches and
the real-release tag does not, which is what the second bump is for.
Copilot AI balanced review requested due to automatic review settings October 5, 2026 05:55

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

All required version references consistently match the normalized RC tag.

Review effort: Balanced
Findings: None

What changed in this PR

Aligns package metadata with the upcoming v0.17.0-rc1 tag.

Changes:

  • Updates all five package-version references to 0.17.0rc1.
  • Keeps runtime, lockfile, smoke test, and generated agent documentation synchronized.
File Description
pyproject.toml Sets the release-candidate package version.
src/​openarmature/​__init__.py Updates the runtime version constant.
tests/​test_smoke.py Updates the version assertion.
uv.lock Synchronizes the editable package version.
src/​openarmature/​AGENTS.md Updates the generated version header.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@chris-colinsky
chris-colinsky merged commit 0003aa9 into main Oct 5, 2026
7 checks passed
@chris-colinsky
chris-colinsky deleted the chore/version-for-rc1 branch October 5, 2026 05:59
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