Uh oh!
There was an error while loading. Please reload this page.
Implement draft-release workflow - #69
Conversation
📝 WalkthroughWalkthroughThe draft-release.yml GitHub Actions workflow is renamed and rewritten from a placeholder echo job into a functional pipeline. It adds workflow-level concurrency and write permissions, then computes the next semver tag, generates release notes, updates pyproject.toml and CHANGELOG.md, and opens a release PR and draft GitHub release. ChangesDraft Release Workflow
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant Trigger
participant Workflow as draft-release.yml
participant Repo as main branch
participant GitHub as GitHub API
Trigger->>Workflow: Trigger workflow run
Workflow->>Workflow: Install uv, read current version
Workflow->>Workflow: Compute next semver tag
Workflow->>GitHub: Check if tag exists
GitHub-->>Workflow: Tag existence result
Workflow->>Workflow: Generate release notes from merged PRs
Workflow->>Repo: Update pyproject.toml and CHANGELOG.md
Workflow->>Repo: Commit and push changes
Workflow->>GitHub: Open release PR
Workflow->>GitHub: Create draft GitHub release
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
.github/workflows/draft-release.yml (1)
44-86: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick winPin the
railsware/github-actions/*steps to immutable SHAs..github/workflows/draft-release.yml:44-83still uses six@masterrefs, so this workflow can drift unexpectedly and is harder to reproduce. Pin each action to a commit SHA.🤖 Prompt for 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. In @.github/workflows/draft-release.yml around lines 44 - 86, The workflow in draft-release still uses mutable railsware/github-actions references, which can change unexpectedly over time. Update each of the listed action uses in the release job—compute-next-semver, abort-if-tag-exists, generate-release-notes, prepend-changelog, open-sdk-release-pr, and create-draft-github-release—to immutable commit SHAs instead of `@master` so the behavior stays reproducible and stable.
🤖 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/draft-release.yml:
- Around line 60-62: The version update step expands the step output directly
inside the run command, which should be avoided; update the workflow step that
runs uv version to pass steps.bump.outputs.next through env instead. Keep the
existing condition on steps.notes.outputs.release_notes, bind the computed
version to an environment variable in the same job, and reference that variable
in the Update version in pyproject.toml step so the shell only sees a quoted env
value.
---
Nitpick comments:
In @.github/workflows/draft-release.yml:
- Around line 44-86: The workflow in draft-release still uses mutable
railsware/github-actions references, which can change unexpectedly over time.
Update each of the listed action uses in the release job—compute-next-semver,
abort-if-tag-exists, generate-release-notes, prepend-changelog,
open-sdk-release-pr, and create-draft-github-release—to immutable commit SHAs
instead of `@master` so the behavior stays reproducible and stable.
🪄 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
Run ID: abb29b89-934f-4ab0-bef3-81275a17c285
📒 Files selected for processing (1)
.github/workflows/draft-release.yml
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Motivation
Release automation
Changes
How to test
Summary by CodeRabbit