Skip to content

Release: bump Makefile before build, then PR to sync master - #17

Merged
silverbucket merged 2 commits into
masterfrom
cursor/release-push-token-91b9
May 27, 2026
Merged

silverbucket merged 2 commits into
masterfrom
cursor/release-push-token-91b9

Conversation

@silverbucket

@silverbucket silverbucket commented May 27, 2026 •

Copy link
Copy Markdown
Owner

Summary

Fixes release job order and clarifies docs in release.md.

Order of operations

  1. Compute next version from latest published tag + bump (patch / minor / major)
  2. Update Makefile in the CI workspace before build (not on master yet)
  3. Run tests
  4. Build tarballs (fails if Makefile ≠ release version; -ldflags sets dwatch --version)
  5. Publish GitHub Release
  6. Open PR to update VERSION on master (branch protection)

Note on PR #18

Closed as duplicate — work lives here on this branch.

Open in Web Open in Cursor 

Summary by CodeRabbit

  • Documentation

    • Updated release guide with a clear, step-by-step description of the automated release flow, version selection rules, environment requirements, and PR sync behavior.
  • Chores

    • Improved release workflow: clearer bump descriptions and logged bump transitions, stricter VERSION validation in the CI workspace (build fails on mismatch), PR sync now compares origin/master and branches from it, and updated PR/merge messaging.

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 27, 2026 •

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: de8cb955-8480-4627-a979-8e8539ded17b

📥 Commits

Reviewing files that changed from the base of the PR and between 42d7af2 and 647a983.

📒 Files selected for processing (1)
  • .github/workflows/release.yml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/release.yml

📝 Walkthrough

Walkthrough

The PR updates the GitHub Actions release workflow to log bump transitions, set and validate the workspace Makefile VERSION before building and again before archiving, and change the protected-master sync to branch from origin/master. It also rewrites release.md to document the new flow and setup steps.

Changes

Release Workflow and Documentation Updates

Layer / File(s) Summary
Workflow dispatch input and version computation
.github/workflows/release.yml
The bump workflow_dispatch description is shortened to “Version bump”; the version computation step logs the bump transition and emits only version and tag outputs (removes previous).
Makefile version sync and validation in CI
.github/workflows/release.yml
New CI step updates the workspace Makefile VERSION from the computed release version and validates it; before building archives the workflow re-reads Makefile VERSION, fails if it differs, and logs the version being built.
Protected master PR sync logic
.github/workflows/release.yml
The Makefile sync step now fetches origin/master, reads remote Makefile VERSION and exits early if already equal; when needed, the branch is created from origin/master and the PR merge fallback text/merge-failure message are updated.
Release process documentation
release.md
Docs rewritten to describe GitHub Actions–based release flow, one-time release environment setup (required reviewers, master-only deployment branch, workflow permissions), version selection/bump rules, ordered workflow steps (compute version, edit Makefile in CI, test, validate before build, publish release and tarballs, open master sync PR), and a note that syncing master does not change tarball contents.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • silverbucket/dwatch#15: Workflow changes to compute/validate release VERSION and the protected-master PR sync flow (including early-exit and branching from fetched origin/master) directly overlap.
  • silverbucket/dwatch#13: Both PRs modify release-version computation and Makefile VERSION handling/sync logic in .github/workflows/release.yml.
  • silverbucket/dwatch#11: Both PRs change version and workflow-dispatch handling in the release workflow.

Poem

🐰 I hopped through CI with version in tow,
Bumped and logged where the changelogs grow,
Made Makefile match the release I see,
Branched from origin then pushed with glee,
Tarballs unchanged — a tidy release show.

🚥 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 directly describes the main workflow change: updating Makefile before build and opening a PR to sync master.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cursor/release-push-token-91b9

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

@cursor cursor Bot changed the title Release: bump Makefile before build; use RELEASE_PUSH_TOKEN Release: correct binary version without bypassing branch protection May 27, 2026
@cursor
cursor Bot force-pushed the cursor/release-push-token-91b9 branch from fcddedf to 1144226 Compare May 27, 2026 15:53
- Compute version, sed Makefile locally, test, build, publish
- Build fails if Makefile and release version differ
- Follow-up PR updates master under branch protection

Co-authored-by: Nick Jennings <silverbucket@users.noreply.github.com>
@cursor cursor Bot changed the title Release: correct binary version without bypassing branch protection Release: bump Makefile before build, then PR to sync master May 27, 2026
@cursor
cursor Bot force-pushed the cursor/release-push-token-91b9 branch from 1144226 to 42d7af2 Compare May 27, 2026 16:03
@silverbucket
silverbucket marked this pull request as ready for review May 27, 2026 16:04
@coderabbitai coderabbitai Bot added the ci label May 27, 2026

@cursor cursor 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.

Stale comment

Security review complete: no medium, high, or critical vulnerabilities were identified in the modified release workflow or release documentation. No prior unresolved automation review threads were present to re-report.

Open in Web View Automation 

Sent by Cursor Automation: Find vulnerabilities

@silverbucket silverbucket self-assigned this May 27, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/release.yml:
- Around line 157-164: Compute REMOTE_VERSION after updating local refs: run the
existing git fetch (git fetch origin master) before calling git show
origin/master:Makefile so REMOTE_VERSION comes from an up-to-date origin/master;
i.e., move the git fetch origin master line to before the REMOTE_VERSION
assignment (keeping the rest of the logic that compares REMOTE_VERSION to
VERSION and creates BRANCH intact) to avoid stale-read/false negatives.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0fea6972-2356-42cc-a3b5-57a7cbeb8e92

📥 Commits

Reviewing files that changed from the base of the PR and between 2035575 and 42d7af2.

📒 Files selected for processing (2)
  • .github/workflows/release.yml
  • release.md

Comment thread .github/workflows/release.yml
Co-authored-by: Nick Jennings <silverbucket@users.noreply.github.com>

@cursor cursor 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.

Security review complete: no medium, high, or critical vulnerabilities were identified in the modified release workflow or release documentation.

Validated the current diff and prior review state: the only previous thread was a non-security stale-fetch workflow concern from CodeRabbit, and it is already resolved in the current commit. No new security finding comments are being posted.

Open in Web View Automation 

Sent by Cursor Automation: Find vulnerabilities

@silverbucket
silverbucket merged commit 63d3221 into master May 27, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants