Skip to content

fix(ci): explicitly create tags/releases#85

Merged
timcogan merged 1 commit intomasterfrom
fix/explicit-tag-release
Apr 29, 2026
Merged

fix(ci): explicitly create tags/releases#85
timcogan merged 1 commit intomasterfrom
fix/explicit-tag-release

Conversation

@timcogan
Copy link
Copy Markdown
Owner

@timcogan timcogan commented Apr 29, 2026

Summary by CodeRabbit

  • Chores
    • Improved release workflow to create GitHub Release/tag as draft upfront before uploading artifacts, ensuring proper tag validation and commit placement.
    • Updated release documentation and process to reflect the new draft-first approach with automatic final publication.
    • Enhanced workflow state tracking and error handling for tag management.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 29, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 30175cd0-bdcb-4717-8f9e-dff97325aa15

📥 Commits

Reviewing files that changed from the base of the PR and between d9ec935 and a97546c.

📒 Files selected for processing (3)
  • .github/workflows/release.yml
  • RELEASE.md
  • dist-workspace.toml

📝 Walkthrough

Walkthrough

The release workflow now pre-creates a draft GitHub Release and tag via a new create-release job before building/uploading artifacts. The plan job computes and exports release metadata (release_state, tag_exists), validates tag placement against the current commit SHA, and fails early if the tag exists on a different commit. The dist-workspace.toml disables cargo-dist's automatic release creation. Release documentation updated to reflect this new workflow sequence.

Changes

Cohort / File(s) Summary
Release Workflow Infrastructure
.github/workflows/release.yml
Added new create-release job to pre-create draft releases and tags. Enhanced plan job to compute and export release_state and tag_exists, with validation logic to detect tag misplacement across commits. Updated job dependencies for build-local-artifacts, build-global-artifacts, and host to require create-release completion.
Distribution Configuration
dist-workspace.toml
Set create-release = false in [dist] section to delegate release creation to GitHub Actions workflow instead of cargo-dist.
Release Documentation
RELEASE.md
Updated release lifecycle documentation to reflect draft release creation-first approach and clarified retry behavior for existing draft releases.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰 A draft release now hops forth,
Before the artifacts take their worth,
Tags validated, commits aligned,
Release state and metadata assigned,
cargo-dist steps back with grace,
As the workflow finds its place!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning No pull request description was provided by the author, missing all required sections from the template including Summary, Testing, and Checklist. Add a complete pull request description following the template: include a Summary explaining the changes, Testing section with completed checklist items and any manual testing performed, and the required Checklist with all items addressed.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix(ci): explicitly create tags/releases' clearly describes the main change - implementing explicit tag/release creation in CI workflows, which aligns with the primary modifications in release.yml, dist-workspace.toml, and RELEASE.md documentation.
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 fix/explicit-tag-release

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
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

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

@timcogan
Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 29, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@timcogan timcogan merged commit 1ac3707 into master Apr 29, 2026
9 checks passed
@timcogan timcogan deleted the fix/explicit-tag-release branch April 29, 2026 21:46
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