Skip to content

ci: decouple publish from release-please workflow_call#644

Open
FBumann wants to merge 1 commit intomainfrom
chore/decouple-publish-from-release
Open

ci: decouple publish from release-please workflow_call#644
FBumann wants to merge 1 commit intomainfrom
chore/decouple-publish-from-release

Conversation

@FBumann
Copy link
Copy Markdown
Member

@FBumann FBumann commented Mar 24, 2026

Summary

  • Remove workflow_call trigger from publish.yaml — it now triggers only on tag push
  • Remove the publish job from release.yaml — release-please creates the tag, which triggers publish independently
  • Fixes PyPI trusted publishing OIDC failure where workflow_ref claims didn't match because publish was called via workflow_call from release.yaml

How it works now

  1. release.yaml: release-please merges the release PR and creates a tag → then runs update-citation-date and deploy-docs
  2. publish.yaml: triggered independently by the tag push → runs tests, builds, publishes to PyPI, verifies, creates GitHub release

Test plan

  • Verify release-please still creates tags when merging release PRs
  • Verify tag push triggers publish.yaml
  • Verify PyPI trusted publishing succeeds with direct tag trigger

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Optimized release automation by streamlining the publishing workflow, removing an intermediate processing step to expedite the release pipeline.

The publish workflow now triggers only on tag push, removing the
workflow_call path. This fixes the PyPI trusted publishing failure
where the OIDC token claims didn't match because the workflow was
called from release.yaml rather than triggered directly by the tag.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 24, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a4bb6ea0-e5dc-48f5-8158-d6ad18c2800b

📥 Commits

Reviewing files that changed from the base of the PR and between 15aca5d and 05b63d6.

📒 Files selected for processing (2)
  • .github/workflows/publish.yaml
  • .github/workflows/release.yaml

📝 Walkthrough

Walkthrough

The pull request refactors GitHub Actions workflows to eliminate a redundant job intermediary. The publish.yaml workflow now triggers directly on push events with version tags instead of accepting a required input parameter, and the release.yaml workflow's downstream jobs are updated to depend directly on release-please rather than on a now-removed publish job.

Changes

Cohort / File(s) Summary
Publish Workflow
.github/workflows/publish.yaml
Removed workflow_call interface with required tag input. Updated to trigger only on push events for version tags. Changed tag resolution from inputs.tag || github.ref_name to github.ref_name, and removed conditional gating on github-release job.
Release Workflow
.github/workflows/release.yaml
Removed intermediate publish job that called publish.yaml. Updated update-citation-date and deploy-docs to depend directly on release-please instead of publish, with conditional execution gated on needs.release-please.outputs.release_created.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐰 A hop, a skip—workflows align! ✨
No more middleman delays the line,
Direct triggers on version tags so bright,
Dependencies simplified, clean and tight!
Publish flows swiftly through the night! 🚀

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The description provides a comprehensive summary, explains how the changes work, and includes a test plan, but does not follow the required repository template structure with Type of Change, Related Issues, and Checklist sections. Restructure the description to follow the repository template by adding explicit Type of Change, Related Issues, and Checklist sections with proper formatting.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the primary change: decoupling the publish workflow from the release-please workflow_call trigger.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ 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 chore/decouple-publish-from-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

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

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