Skip to content

ci: use shared release tools#130

Merged
robjtede merged 1 commit into
mainfrom
agent/use-shared-release-tools
Jul 21, 2026
Merged

ci: use shared release tools#130
robjtede merged 1 commit into
mainfrom
agent/use-shared-release-tools

Conversation

@robjtede

@robjtede robjtede commented Jul 21, 2026

Copy link
Copy Markdown
Member

Summary

  • refresh the existing x52dev/nix flake input and expose x52-release-tools in the default development shell
  • enter that shell in the release workflow only when release-plz creates a PR or release
  • invoke the shared changelog and release-note commands with release-plz JSON passed through environment variables
  • remove the two repository-local script copies

Why

The release helpers now live in x52dev/nix, where their dependencies, fixes, and regression tests can be maintained once. Contracts already consumes that flake, so its release job can use the shared package without retaining duplicate scripts.

Release behavior is unchanged: release-plz still runs first with the existing crates.io authentication, changelog updates still run only for created PRs, and release-note updates still run only for created releases.

Validation

  • nix develop -c just fmt
  • nix develop -c just check
  • nix develop -c just test (35 nextest tests and 12 doctests passed; rustdoc completed with warnings denied)
  • verified x52-bump-changelogs and x52-update-release-notes are both available in the default development shell

Summary by CodeRabbit

  • Release Automation
    • Release workflows now conditionally prepare the required Nix environment and caching when releases or pull requests are created.
    • Changelog version updates and release note publishing now use the standardized release tooling.
  • Developer Experience
    • The default development shell now includes release management tools.
  • Documentation
    • Changelog updates automatically include version sections and refreshed version references.
    • GitHub release notes are generated from package changelog entries.

@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7d2c3e95-e155-41d1-aafc-85fc0a7bbce7

📥 Commits

Reviewing files that changed from the base of the PR and between e80b36d and 963dffd.

⛔ Files ignored due to path filters (1)
  • flake.lock is excluded by !**/*.lock
📒 Files selected for processing (4)
  • .github/workflows/release.yml
  • flake.nix
  • scripts/bump-changelogs
  • scripts/update-release-notes
💤 Files with no reviewable changes (2)
  • scripts/bump-changelogs
  • scripts/update-release-notes

📝 Walkthrough

Walkthrough

The release workflow now conditionally provisions a Nix environment and invokes x52 release tools using release-plz JSON environment variables. The default Nix devshell includes the release-tools package, replacing the removed repository scripts.

Changes

Release tooling migration

Layer / File(s) Summary
Release tooling setup
.github/workflows/release.yml, flake.nix
The default devshell adds x52 release tools, while the workflow conditionally installs Determinate Nix, configures FlakeHub caching, and enters the devshell.
Workflow command migration
.github/workflows/release.yml, scripts/bump-changelogs, scripts/update-release-notes
Release steps invoke x52-bump-changelogs and x52-update-release-notes with JSON environment variables instead of the removed scripts and positional arguments.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: CI now uses shared release tools instead of local scripts.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent/use-shared-release-tools

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Checkov (3.3.8)
.github/workflows/release.yml

Traceback (most recent call last):
File "/usr/local/bin/checkov", line 2, in
from checkov.main import Checkov
ModuleNotFoundError: No module named 'checkov'


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@robjtede
robjtede marked this pull request as ready for review July 21, 2026 13:03
@robjtede
robjtede enabled auto-merge July 21, 2026 13:03
@robjtede
robjtede merged commit 49f3c6e into main Jul 21, 2026
13 checks passed
@robjtede
robjtede deleted the agent/use-shared-release-tools branch July 21, 2026 13:05
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