ci: use prepared-release-id to finalize release draft - #1083
Conversation
Co-Authored-By: AJ Steers <aj@airbyte.io>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
👋 Greetings, Airbyte Team Member!Here are some helpful tips and reminders for your convenience. 💡 Show Tips and TricksTesting This PyAirbyte VersionYou can test this version of PyAirbyte using the following: # Run PyAirbyte CLI from this branch:
uvx --from 'git+https://github.com/airbytehq/PyAirbyte.git@devin/1784606532-prepared-release-id' pyairbyte --help
# Install PyAirbyte from this branch for development:
pip install 'git+https://github.com/airbytehq/PyAirbyte.git@devin/1784606532-prepared-release-id'PR Slash CommandsAirbyte Maintainers can execute the following slash commands on your PR:
📚 Show Repo GuidanceHelpful ResourcesCommunity SupportQuestions? Join the #pyairbyte channel in our Slack workspace. |
📝 WalkthroughWalkthroughThe release workflow upgrades ChangesRelease drafter workflow
Estimated code review effort: 1 (Trivial) | ~2 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 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.
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_drafter.yml:
- Line 34: Update both semantic-pr-release-drafter steps in the release workflow
to reference commit f9c46b42299873804471af7a5cb066d0a53d7e8c instead of the
mutable v2.2.0 tag, preserving the existing action configuration.
🪄 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: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 5b48e202-1be6-4997-bafd-c00047bfc265
📒 Files selected for processing (1)
.github/workflows/release_drafter.yml
Code Coverage OverviewLanguages: Python Python / code-coverage/pytest-fastThe overall coverage in commit 716a6d5 in the Show a code coverage summary of the most impacted files.
Python / code-coverage/pytest-no-credsThe overall coverage in commit 716a6d5 in the Show a code coverage summary of the most impacted files.
Python / code-coverage/pytestThe overall coverage in commit 716a6d5 in the Show a code coverage summary of the most impacted files.
Updated |
There was a problem hiding this comment.
Pull request overview
Updates the GitHub Actions release-drafter workflow to avoid duplicate draft releases by finalizing the exact “prepared” draft via prepared-release-id after building artifacts.
Changes:
- Bumps
aaronsteers/semantic-pr-release-drafterfromv2.1.0tov2.2.0. - Finalizes the prepared draft using
prepared-release-id: ${{ steps.not-ready-draft.outputs.id }}instead of rediscovering byversion. - Adds inline comments documenting the rationale (point-read consistency, reuse of version/tag/SHA).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
Migrates the two-step release-drafter workflow to
aaronsteers/semantic-pr-release-drafter@v2.2.0and finalizes the draft viaprepared-release-idinstead of re-pinningversion.Before, the finalize step re-discovered its draft by re-passing the version:
That relied on the eventually-consistent
GET /releaseslist, which can miss a draft created seconds earlier → a duplicate draft. Now the finalize targets the exact release created by the first step via a strongly consistent point-read:The prepared release is the source of truth: its version, tag, prerelease state, and pinned commit SHA are reused as-is, so nothing can drift between the two steps. (The build step still consumes
tag-nameforUV_DYNAMIC_VERSIONING_BYPASS— unchanged.)Requested by Aaron ("AJ") Steers (@aaronsteers), following up on aaronsteers/semantic-pr-release-drafter#57 (the
prepared-release-idfeature, released in v2.2.0).Link to Devin session: https://app.devin.ai/sessions/c5aa9e420587440b9e2e5f4e92f65383
Summary by CodeRabbit
Important
Auto-merge enabled.
This PR is set to merge automatically when all requirements are met.