Skip to content

ci: fix v0.1.2 release — bump versions and add safety net#17

Merged
StefanSteiner merged 5 commits into
tableau:mainfrom
StefanSteiner:ssteiner/fix-release-v012
May 18, 2026
Merged

ci: fix v0.1.2 release — bump versions and add safety net#17
StefanSteiner merged 5 commits into
tableau:mainfrom
StefanSteiner:ssteiner/fix-release-v012

Conversation

@StefanSteiner
Copy link
Copy Markdown
Contributor

Summary

The v0.1.2 release-please PR (#15) didn't properly bump all versions:

  • Cargo.toml workspace version stayed at 0.1.1 (the simple strategy needs version.txt to work)
  • All platform package.json files and hyperdb-api-node/package.json stayed at 0.1.1
  • This caused release.yml to fail (tag/workspace mismatch) and npm-build-publish.yml to fail (E403 re-publishing 0.1.1)

Fixes:

  1. Bump Cargo.toml workspace version to 0.1.2 and add version.txt (the simple strategy's expected primary version file)
  2. Bump all npm package.json files and manifest to 0.1.2
  3. Add a version-consistency CI job that verifies version.txt matches Cargo.toml on every PR — catches this class of bug before merge

After merging:

Re-trigger the publish workflows against the v0.1.2 tag:

gh workflow run release.yml -f tag=v0.1.2
gh workflow run npm-build-publish.yml -f tag=v0.1.2

Test plan

  • CI passes (including new version-consistency job)
  • After merge + re-trigger, release.yml passes the version check and publishes to crates.io
  • After merge + re-trigger, npm-build-publish.yml publishes 0.1.2 platform packages to npm

…lease

release-please's simple strategy reads version.txt as its primary version
source. Without it, the extra-files Generic updater for Cargo.toml was
never invoked, leaving workspace version at 0.1.1 despite the v0.1.2 tag.

Add version.txt (the simple strategy's expected file) and bump Cargo.toml
workspace version to match the already-published v0.1.2 tag.
Verifies version.txt and Cargo.toml workspace version stay in sync.
Runs on every PR including release-please PRs, catching the case where
the simple strategy bumps version.txt but fails to update Cargo.toml
(or vice versa) before merge.
release-please's linked-versions plugin failed to bump platform packages
and hyperdb-api-node in the v0.1.2 release PR. The npm registry rejects
re-publishing 0.1.1 since it already exists. Bump all package.json files
and the manifest to 0.1.2 to match the tag.
Bump exact-version pins (=0.1.1 → =0.1.2) in hyperdb-api-core and
hyperdb-api so cargo-deny resolves correctly. Add x-release-please-version
annotations to both files and register them in extra-files so future
releases bump these pins automatically.
The previous temp file naming scheme (PID + nanosecond timestamp) could
collide on macOS where timer resolution is coarser than nanoseconds,
causing parallel test runs to race on the same path. Switch to
tempfile::NamedTempFile with into_temp_path() which uses OS-level atomic
file creation and closes the handle before COPY (required on Windows
where hyperd cannot read files held open by another process).
@StefanSteiner StefanSteiner force-pushed the ssteiner/fix-release-v012 branch from bfc567e to 9ef21ad Compare May 18, 2026 17:29
@StefanSteiner StefanSteiner merged commit bae4536 into tableau:main May 18, 2026
10 checks passed
This was referenced May 18, 2026
@StefanSteiner StefanSteiner mentioned this pull request May 18, 2026
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