Skip to content

ci: dispatch beta release via execute-workflow instead of inlining#782

Merged
vdusek merged 2 commits intomasterfrom
ci/inline-beta-release-for-pypi
May 7, 2026
Merged

ci: dispatch beta release via execute-workflow instead of inlining#782
vdusek merged 2 commits intomasterfrom
ci/inline-beta-release-for-pypi

Conversation

@vdusek
Copy link
Copy Markdown
Contributor

@vdusek vdusek commented May 6, 2026

Replaces the inlined beta release jobs in on_master.yaml with a single job that dispatches manual_release_beta.yaml via apify/workflows/execute-workflow@main. The dispatched run is a regular workflow_dispatch (not a reusable workflow call), so PyPI's Trusted Publishing accepts the OIDC token, and the duplication is gone.

Also adds a concurrency: release group to manual_release_beta.yaml so two rapid pushes to master cannot race on the version bump and PyPI publish.

Same pattern as apify-client-js, apify-sdk-js, apify-cli, and crawlee.

PyPI's Trusted Publishing rejects OIDC tokens issued from reusable workflows,
so the beta release jobs are inlined into on_master.yaml instead of being
invoked via `uses:` from manual_release_beta.yaml.
@vdusek vdusek added adhoc Ad-hoc unplanned task added during the sprint. t-tooling Issues with this label are in the ownership of the tooling team. labels May 6, 2026
@vdusek vdusek self-assigned this May 6, 2026
@vdusek vdusek requested a review from janbuchar May 6, 2026 08:09
@github-actions github-actions Bot added this to the 140th sprint - Tooling team milestone May 6, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.56%. Comparing base (26c8d76) to head (05a89db).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #782      +/-   ##
==========================================
+ Coverage   97.52%   97.56%   +0.04%     
==========================================
  Files          47       47              
  Lines        4725     4725              
==========================================
+ Hits         4608     4610       +2     
+ Misses        117      115       -2     
Flag Coverage Δ
integration 95.30% <ø> (ø)
unit 82.11% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Use apify/workflows/execute-workflow@main to trigger manual_release_beta.yaml
as a separate workflow run (not a reusable workflow call), so PyPI's Trusted
Publishing accepts the OIDC token. This removes the duplication between
on_master.yaml and manual_release_beta.yaml introduced by the previous inline
approach.

Add a concurrency group to manual_release_beta.yaml so two rapid pushes to
master cannot race on the version bump and PyPI publish.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vdusek vdusek changed the title ci: inline beta release jobs to fix PyPI trusted publishing ci: dispatch beta release via execute-workflow instead of inlining May 7, 2026
@vdusek vdusek merged commit c441fc1 into master May 7, 2026
26 checks passed
@vdusek vdusek deleted the ci/inline-beta-release-for-pypi branch May 7, 2026 11:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

adhoc Ad-hoc unplanned task added during the sprint. t-tooling Issues with this label are in the ownership of the tooling team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants