Skip to content

chore(release): pin pyproject to 0.7.0rc1 + fix RELEASING.md#59

Merged
chris-colinsky merged 2 commits into
mainfrom
chore/release-v0.7.0-rc1-fix
May 23, 2026
Merged

chore(release): pin pyproject to 0.7.0rc1 + fix RELEASING.md#59
chris-colinsky merged 2 commits into
mainfrom
chore/release-v0.7.0-rc1-fix

Conversation

@chris-colinsky
Copy link
Copy Markdown
Member

@chris-colinsky chris-colinsky commented May 23, 2026

Recovery PR for the v0.7.0-rc1 release.

What happened

PR #58 set `pyproject.toml` version to `0.7.0` and I tagged `v0.7.0-rc1`. The release workflow failed at the version-match validator:

```
version mismatch: pyproject='0.7.0' vs tag='0.7.0-rc1'
(normalized: pyproject=0.7.0 tag=0.7.0rc1)
```

The check normalizes both sides to PEP 440 form and compares — `0.7.0` ≠ `0.7.0rc1`. Nothing was uploaded to TestPyPI; the workflow failed before any publish step.

The previous `RELEASING.md` text said either form was accepted in the pyproject field, which is true on its own, but missed that the rc tag and real-release tag normalize to different values, so the pyproject pin has to be bumped separately for each.

What this PR does

  • Bumps `pyproject.toml`, `src/openarmature/init.py`, and `tests/test_smoke.py` to `0.7.0rc1`.
  • Rewrites the relevant `RELEASING.md` sections so the rc and real-release bumps are explicit separate commits, with examples and the list of mirrored files.
  • Adds a note in the "Iterating on an rc" section covering the recoverable-tag-delete path for rcs that fail before reaching a publish step.

Next steps after merge

  1. Delete the failed `v0.7.0-rc1` tag from origin
  2. Re-tag `v0.7.0-rc1` at the new commit on main
  3. Push the tag — workflow re-runs and (assuming it passes the version check) publishes to TestPyPI

Test plan

  • CI passes (test job + pre-commit)
  • Read the `RELEASING.md` diff for clarity

The v0.7.0-rc1 release workflow failed at the version-match
validator because pyproject.toml carried "0.7.0" but the tag
normalizes to "0.7.0rc1". Bump pyproject (and the mirrored
__version__ and smoke-test assertion) to the rc form so the tag
can be re-pushed and the workflow can proceed to publish.

Fix RELEASING.md to match what the workflow actually checks:

- The pre-release checklist now says the pyproject version must
  match the tag after PEP 440 normalization, calls out that the rc
  and real-release bumps are separate commits, and lists the
  mirrored files that also need updating.
- The "Tagging the real release" section now includes the bump-to-
  final-version commit step before tagging.
- The "Iterating on an rc" section spells out the per-bump commit
  pattern and documents the recoverable tag-delete path for rcs
  that fail before reaching a publish step.
Copilot AI review requested due to automatic review settings May 23, 2026 03:35
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

This PR fixes the v0.7.0-rc1 release recovery path by aligning all version pins with the v0.7.0-rc1 tag’s PEP 440-normalized form and updating the release documentation to prevent future rc/real-release mismatches.

Changes:

  • Pin project.version and runtime/test version assertions to 0.7.0rc1.
  • Update uv.lock’s editable package entry to 0.7.0rc1.
  • Rewrite RELEASING.md to explicitly separate rc vs real-release version bump commits and document when rc tag deletion/re-tagging is safe.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
pyproject.toml Bumps project version to 0.7.0rc1 to satisfy tag/version validation.
src/openarmature/__init__.py Updates runtime __version__ to match the rc version.
tests/test_smoke.py Updates smoke assertion to match the rc version.
uv.lock Updates the editable openarmature package version to 0.7.0rc1.
RELEASING.md Clarifies rc vs real-release bump/tag steps and recovery guidance.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread RELEASING.md Outdated
Comment thread RELEASING.md Outdated
CoPilot caught two issues in the new RELEASING.md sections:

- The "Tagging the real release" example used "chore(release):
  bump to v0.7.0" while the convention stated earlier in the doc
  is "chore(release): vX.Y.Z". Aligned the example.

- The same section's shell block conflated the local commit, PR,
  and tag steps. Since the repo doesn't allow direct push to main,
  the bump always lands via PR. Restructured to match the
  "Tagging the rc" pattern: prose lists the files to update, then
  a separate code block shows only the tag-and-push commands
  assuming main is already updated. Applied the same shape to
  "Iterating on an rc" since it had the same issue.
@chris-colinsky chris-colinsky merged commit 7200194 into main May 23, 2026
6 checks passed
@chris-colinsky chris-colinsky deleted the chore/release-v0.7.0-rc1-fix branch May 23, 2026 03:41
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