Skip to content

Add release preparation tooling - #553

Open
nox wants to merge 3 commits into
masterfrom
nox/release-tooling-offline
Open

nox wants to merge 3 commits into
masterfrom
nox/release-tooling-offline

Conversation

@nox

@nox nox commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

This fixes Cargo.lock for the full workspace and adds a script for preparing release PRs without contacting crates.io. Cargo-release handles the version bump, while git-cliff updates the release notes and commit body. The script checks canonical master and release refs unless --offline is used. Publishing remains in the guarded GitHub Actions workflow, so the old local publishing script is removed.

nox added 2 commits November 9, 2026 11:15
Cargo.lock was initially added as a kludge to make the old 5.4.0
release workflow pass. It was copied from the published boring-sys
archive, so it represented the release state of boring-sys instead of
the full workspace.

The two downstream crates also used a different resolution:
tokio-boring and hyper-boring targeted cc 1.11.1 instead of the cc
1.10.0 selected by boring-sys and boring.

This is the complete workspace lockfile for the final 5.4.0 dependency
resolution.
Publishing is now handled by the guarded GitHub Actions workflow.

@clanky-the-clanker clanky-the-clanker Bot 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.

Superseded by the review of 2f0bc015.

This review, of 1d461eb5

💬 Approved with comments — Release tooling is well guarded; the one note is non-blocking: the git-cliff changelog range depends on local tags the script never checks.

Findings: 1 info (1 is an inline comment on the diff)

The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.


📋 Code Quality: 💬 1 info

The release script is sound, with one gap: the changelog range depends on local tags the script never checks.

Recommendation: 💬 Optional Nits

  • [INFO] The changelog range depends on local tags, which the script never fetches or checks. (scripts/release.sh:113)
View full review
  • scripts/release.sh:113-114: git cliff --offline --unreleased takes its range from the latest local tag that matches tag_pattern. The canonical fetch at line 52 uses --no-tags, so a clone without tags (a fresh fork, or a shallow clone) passes every check. The script then writes the whole project history into RELEASE_NOTES and the commit body. The empty-output check at lines 119-122 does not catch this case.

✅ All other checks passed

🚀 Release: ✅ LGTM

Release risk is low. Publishing stays in the GitHub Actions workflow, and the new script only prepares a local release branch.


🔒 Security: ✅ LGTM

No security issues found.


📖 AGENTS.md: ✅ LGTM

No issues found.


⚡ Performance: ✅ LGTM

No performance issues found.


📝 Documentation: ✅ LGTM

No documentation issues found.


Reviewed commit: 1d461eb5

Comment thread scripts/release.sh Resolved
@nox
nox force-pushed the nox/release-tooling-offline branch from 1d461eb to 2f0bc01 Compare November 9, 2026 12:25

@clanky-the-clanker clanky-the-clanker Bot 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.

✅ Approved — No open findings. The earlier note about the changelog range relying on local tags is fixed: the script now fetches and checks the previous release tag and passes git-cliff an explicit range.

The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.


✅ All checks passed

🚀 Release: ✅ LGTM

Release risk is low. Publishing stays in the GitHub Actions workflow, and the script only prepares a local release branch.


🔒 Security: ✅ LGTM

No security issues found.


📖 AGENTS.md: ✅ LGTM

No issues found.


📋 Code Quality: ✅ LGTM

The script now fetches and checks the previous release tag v<version>. It confirms the tag is an ancestor of the release base and gives git-cliff the explicit range ${previous_tag}..HEAD (scripts/release.sh:53-88, 137-139). The rest of the changes look consistent.


⚡ Performance: ✅ LGTM

No performance issues found.


📝 Documentation: ✅ LGTM

No documentation issues found.


Reviewed commit: 2f0bc015

This branch has not been deployed

No deployments
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.

3 participants