Skip to content

feat: automate draft crate releases - #20

Merged
robjtede merged 1 commit into
mainfrom
chore/undraft-releases
Oct 8, 2026
Merged

robjtede merged 1 commit into
mainfrom
chore/undraft-releases

Conversation

@robjtede

@robjtede robjtede commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Add release-plz with draft pull requests and draft GitHub releases.
  • Update release notes from the changelog, then publish releases with --then-undraft.
  • Add the shared x52dev/nix release-tools shell and lock its current input.

Validation

  • nix flake check --no-build passed for both flakes.

Summary by CodeRabbit

  • Chores
    • Added automated release management for changes merged to the main branch, including draft release pull requests and GitHub releases.
    • Release updates can refresh changelog versions and publish updated release notes.
    • Added release tooling for Linux and macOS on x86_64 and ARM64 systems.

@coderabbitai

coderabbitai Bot commented Oct 8, 2026

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 3d58b614-1be8-4caa-98dd-9a1b99c7422c
📥 Commits

Reviewing files that changed from the base of the PR and between c649493 and ba53bf9.

⛔ Files ignored due to path filters (1)
  • flake.lock is excluded by !**/*.lock
📒 Files selected for processing (3)
  • .github/workflows/release.yml
  • .release-plz.toml
  • flake.nix

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The change adds release-plz settings, a Nix development shell with release tools, and a GitHub Actions workflow triggered by pushes to main. The workflow runs release-plz and conditionally updates changelog versions or release notes.

Changes

Release automation

Layer / File(s) Summary
Release policy and tooling
.release-plz.toml, flake.nix
Configures release-plz pull requests and releases. Defines a ci-release shell with x52 release tools for Linux and Darwin architectures.
Release workflow
.github/workflows/release.yml
Adds a main-branch push workflow that runs release-plz. When a PR is created, it bumps changelog versions; when a release is created, it updates release notes with --then-undraft.

Priority: ⬇️ Low

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

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  participant GitHubActions
  participant ReleasePlz
  participant Nix
  participant CiReleaseShell
  GitHubActions->>ReleasePlz: Run on push to main
  ReleasePlz-->>GitHubActions: Report created PR or release
  GitHubActions->>Nix: Install Nix when a PR or release is created
  Nix->>CiReleaseShell: Enter .#ci-release
  alt PR created
    GitHubActions->>CiReleaseShell: Bump changelog versions
  else Release created
    GitHubActions->>CiReleaseShell: Update release notes with --then-undraft
  end
Loading

Merge Risk: ⚪ Minimal · up to ba53b

This change adds automated draft release tooling. No concrete merge-blocking defect was established. Maintainers may still want to confirm that release PRs receive any required checks.

🚥 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 and concisely describes the main change: automating draft crate releases.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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.
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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 merged commit f23012d into main Oct 8, 2026
7 checks passed
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