Skip to content

ci: simplify publish workflow and update to semantic-pr-release-drafter@v0.4.0#13

Merged
Aaron ("AJ") Steers (aaronsteers) merged 8 commits intomainfrom
devin/1768776500-release-drafter-v0.4.0
Jan 19, 2026
Merged

ci: simplify publish workflow and update to semantic-pr-release-drafter@v0.4.0#13
Aaron ("AJ") Steers (aaronsteers) merged 8 commits intomainfrom
devin/1768776500-release-drafter-v0.4.0

Conversation

@aaronsteers
Copy link
Contributor

@aaronsteers Aaron ("AJ") Steers (aaronsteers) commented Jan 18, 2026

Summary

This PR makes two major changes to the release automation:

1. Updates release-drafter to v0.4.0 with attach-files feature:

  • Uses aaronsteers/semantic-pr-release-drafter@v0.4.0 which handles asset attachment internally
  • Calls the action only ONCE after building (not twice)
  • Removed separate delete-assets and upload-assets steps
  • Simplified build step to just uv build (no version bypass needed)

2. Drastically simplifies publish.yml:

  • Removed the build job entirely (building now happens in release-drafter)
  • Removed the download_release_assets job
  • Removed workflow_dispatch trigger
  • Now uses robinraju/release-downloader@v1.12 to download pre-built assets from the release
  • Workflow reduced from ~200 lines to ~35 lines

The new pattern separates concerns: release-drafter builds and attaches assets to draft releases, while the publish workflow only downloads and publishes to PyPI when a release is published.

Updates since last revision

  • Simplified release-drafter to call action only once after building (matching awesome-python-template pattern)
  • Removed unused step ID from release-drafter
  • Simplified download to single step with fileName: "*" pattern
  • Restored OIDC authentication comment

Review & Testing Checklist for Human

  • Verify uv build correctly determines version from git without explicit bypass (relies on uv-dynamic-versioning)
  • Verify release-drafter correctly builds and attaches wheel/sdist to draft releases when PRs are merged to main
  • Confirm the robinraju/release-downloader action correctly downloads assets when a release is published
  • Test end-to-end: merge a PR → verify draft release has assets → publish release → verify PyPI upload succeeds
  • Consider if removing workflow_dispatch is acceptable (no manual prerelease publishing capability)

Notes

This follows the simplified pattern from awesome-python-template and airbyte-ops-mcp which were merged and tested successfully. The publish workflow is now purely focused on downloading pre-built assets and publishing to PyPI.

Requested by: Aaron ("AJ") Steers (@aaronsteers)
Link to Devin run: https://app.devin.ai/sessions/dbf7f70cc98d47b89f304541608046fa

@devin-ai-integration
Copy link
Contributor

Original prompt from AJ Steers
@Devin - Update all repos that use release-drafter to use my new aaronsteers/semantic-pr-release-drafter@0.2.1

Delete existing release drafter config files and just use all default config from that action (no overrides)
Thread URL: https://airbytehq-team.slack.com/archives/D089P0UPVT4/p1768735267982409

@devin-ai-integration
Copy link
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@github-actions
Copy link

🎉 Thanks for opening this pull request!

Your contribution is appreciated. Here are some helpful commands you can use:

Quick Commands

  • /autofix - Auto-format and fix linting issues (ruff format + ruff check --fix)
  • /lock - Update the uv.lock file with latest dependencies

Available Poe Tasks

You can run any of these tasks using the slash command: /poe <task-name>

Core Tasks

  • /poe test - Run all tests
  • /poe test-fast - Run tests with fast exit on first failure
  • /poe lint - Check code style and quality
  • /poe format - Format code with ruff
  • /poe deps - Check for unused and missing dependencies
  • /poe check - Run format check, linting, dependency check, and tests

Quick Fixes

  • /poe fix - Auto-format and fix linting issues
  • /poe clean - Clean up build artifacts and cache

Build & Install

  • /poe build - Build the package
  • /poe install - Install with development dependencies

Other Commands

  • /poe version - Show package version
  • /poe pre-commit - Run pre-commit style checks

The CI will automatically run tests when you push commits. Happy coding! 🚀

devin-ai-integration bot and others added 3 commits January 18, 2026 23:05
Co-Authored-By: AJ Steers <aj@airbyte.io>
…loader action

Co-Authored-By: AJ Steers <aj@airbyte.io>
@devin-ai-integration devin-ai-integration bot changed the title ci: update to semantic-pr-release-drafter@v0.4.0 with attach-files ci: simplify publish workflow and update to semantic-pr-release-drafter@v0.4.0 Jan 19, 2026
@aaronsteers Aaron ("AJ") Steers (aaronsteers) marked this pull request as ready for review January 19, 2026 03:59
Copilot AI review requested due to automatic review settings January 19, 2026 03:59
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR simplifies the release automation workflow by updating to semantic-pr-release-drafter@v0.4.0 and restructuring the publish process. The changes separate concerns: release-drafter now builds and attaches assets to draft releases, while publish.yml only downloads pre-built assets and publishes to PyPI.

Changes:

  • Updated release-drafter to v0.4.0 and integrated its built-in asset attachment feature
  • Removed build job and workflow_dispatch trigger from publish.yml
  • Replaced manual asset download with robinraju/release-downloader action

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
.github/workflows/release-drafter.yml Updates to v0.4.0 and uses new attach-files feature to handle asset management
.github/workflows/publish.yml Simplified to only download pre-built assets and publish to PyPI

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-Authored-By: AJ Steers <aj@airbyte.io>
Co-Authored-By: AJ Steers <aj@airbyte.io>
Co-Authored-By: AJ Steers <aj@airbyte.io>
@aaronsteers Aaron ("AJ") Steers (aaronsteers) merged commit 14f1410 into main Jan 19, 2026
13 checks passed
@aaronsteers Aaron ("AJ") Steers (aaronsteers) deleted the devin/1768776500-release-drafter-v0.4.0 branch January 19, 2026 04:13
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.

2 participants