Skip to content

Set VERSION to 0.1.0 for the first release - #15

Merged
roachitect-aman merged 1 commit into
mainfrom
release-v0.1.0
Aug 31, 2026
Merged

roachitect-aman merged 1 commit into
mainfrom
release-v0.1.0

Conversation

@roachitect-aman

Copy link
Copy Markdown
Contributor

VERSION has been the placeholder "dev" since the first commit. The release
workflow gates on the git tag matching it, so no tag could ever publish. Pushing
v0.1.0 demonstrated this: the tag push succeeded, CI ran the safety audit and
the full unit suite, and the job then failed at the version check with nothing
released.

✓ Safety audit
✓ Unit tests
X Tag must agree with the version in the script
      tag v0.1.0 does not match VERSION dev
- Checksum / Attest build provenance / Publish   (skipped)

The gate is doing what it should — refusing to publish an artifact whose
recorded version disagrees with the tag it came from. The problem is only
where the disagreement surfaces. Pushing a tag is the least reversible step in
the release, and it was the step that told you the version was wrong.

What this changes

A unit test requiring VERSION to be a release number rather than a
placeholder, so main is always taggable and a mismatch is caught locally
instead of after a tag exists. Then VERSION = "0.1.0".

Nothing else. The workflow still publishes the tagged file unmodified, so the
released bytes stay byte-identical to the tag and
git show v0.1.0:dbprofiler.py | diff - dbprofiler.py stays empty.

Verification

  • python3 -m unittest — 383 tests, OK (382 before; this adds one)
  • python3 dbprofiler.py --check-safety — OK, 14 SQL constants
  • python3 dbprofiler.py --version — 0.1.0
  • ruff check — all checks passed

The existing version tests were already value-agnostic, so none needed changing.

After merge

Re-tag the merged commit to exercise Checksum, Attest build provenance, and
Publish — the three steps that touch GitHub's release and OIDC APIs and are
still unproven.

VERSION has been the placeholder "dev" since the first commit. The release
workflow gates on the git tag matching it, so no tag could ever publish: the
tag push succeeded, CI ran the safety audit and the unit suite, and the job
then failed at the version check with nothing released.

That gate is doing what it should -- refusing to publish an artifact whose
recorded version disagrees with the tag it came from. The problem is only
where the disagreement surfaces. Pushing a tag is the least reversible step
in the release, and it was the step that told you the version was wrong.

Add a unit test requiring VERSION to be a release number rather than a
placeholder, so main is always taggable and the mismatch is caught locally
instead of after a tag exists. Then set it to 0.1.0.

Nothing else changes. The workflow still publishes the tagged file unmodified,
so the released bytes stay identical to the tag.

Co-Authored-By: roachdev-claude <roachdev-claude-bot@cockroachlabs.com>
@roachitect-aman
roachitect-aman merged commit 2037a3e into main Aug 31, 2026
7 checks passed
@roachitect-aman
roachitect-aman deleted the release-v0.1.0 branch August 31, 2026 05:30
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.

1 participant