feat: draft releases, version verification, and reusable workflows#210
Conversation
WalkthroughThis PR updates GitHub Actions workflows and release configuration to strengthen the release process: version verification across tag, manifest, and project file; delegation of PR title validation and release undrafting to external workflows; and enabling draft release pull requests in release-please configuration. ChangesRelease Process Automation
PR Validation Workflow Refactoring
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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.
Pull request overview
This PR updates the repository’s release automation to support draft GitHub releases, adds a tag/manifest/.csproj version consistency check before publishing, and replaces in-repo workflow logic with reusable workflows maintained in openfga/sdk-generator.
Changes:
- Enable draft releases in
release-pleaseconfiguration. - Add a
verify-versionjob on tag builds to ensure the pushed tag matches.release-please-manifest.jsonand the SDK.csprojversion before publishing. - Switch PR title validation and release undrafting to reusable workflows from
openfga/sdk-generator.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| release-please-config.json | Enables draft release behavior in release-please config. |
| .github/workflows/pr-title-conventional-commit.yml | Replaces local PR title validation action with a reusable workflow. |
| .github/workflows/main.yaml | Adds version verification before publish and replaces local release creation with an undraft reusable workflow. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…proj parsing - Remove `needs: [pack]` from verify-version so it runs immediately on tag pushes for fast failure - Add `pack` to publish's needs so it still gates on the artifact - Replace grep-based XML parsing with `dotnet msbuild -getProperty:Version` - Add trailing newline to file
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/workflows/main.yaml (1)
279-284: ⚡ Quick winConsider pinning to a stable commit reference.
The reusable workflow at
openfga/sdk-generator/.github/workflows/undraft-release.yml@mainexists and is properly configured. However, using@mainwill always pull the latest version, which can introduce unexpected changes. Consider pinning to a specific commit SHA or release tag (e.g.,@b432a8a) for greater stability and predictability.🤖 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/main.yaml around lines 279 - 284, The workflow reference uses an ever-moving ref "openfga/sdk-generator/.github/workflows/undraft-release.yml@main" which can introduce breaking changes; update the uses value for the undraft-release job to pin to a specific commit SHA or release tag (for example replace "@main" with a concrete "@<commit-sha>" or "@vX.Y.Z") so the undraft-release reusable workflow is stable and repeatable.
🤖 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.
Nitpick comments:
In @.github/workflows/main.yaml:
- Around line 279-284: The workflow reference uses an ever-moving ref
"openfga/sdk-generator/.github/workflows/undraft-release.yml@main" which can
introduce breaking changes; update the uses value for the undraft-release job to
pin to a specific commit SHA or release tag (for example replace "@main" with a
concrete "@<commit-sha>" or "@vX.Y.Z") so the undraft-release reusable workflow
is stable and repeatable.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: c721a849-6f7f-4a5a-8e5f-758cce0cf2fa
📒 Files selected for processing (3)
.github/workflows/main.yaml.github/workflows/pr-title-conventional-commit.ymlrelease-please-config.json
Description
What problem is being solved?
How is it being solved?
What changes are made to solve it?
References
Review Checklist
mainSummary by CodeRabbit
Release Notes