Skip to content

Open bundle update PRs from policyengine-release dispatch#3724

Merged
anth-volk merged 1 commit into
masterfrom
feat/policyengine-release-dispatch
Jul 3, 2026
Merged

Open bundle update PRs from policyengine-release dispatch#3724
anth-volk merged 1 commit into
masterfrom
feat/policyengine-release-dispatch

Conversation

@anth-volk

Copy link
Copy Markdown
Collaborator

Summary

Converts the PolicyEngine bundle update automation from pull-based (30-minute PyPI polling cron) to push-based: policyengine.py's release pipeline now sends a policyengine-release repository dispatch after each PyPI release (companion PR in PolicyEngine/policyengine.py), and this workflow opens the bump PR immediately.

Changes

  • update-policyengine-bundle.yaml: replace schedule with repository_dispatch (policyengine-release); keep workflow_dispatch with an optional version input as the manual fallback; add a per-version concurrency group so duplicate dispatches serialize.
  • update-policyengine-package.sh:
    • Feed the dispatched version in via LATEST_OVERRIDE.
    • Skip versions not strictly newer than the current pin (FORCE=1 overrides), preventing downgrade PRs from stale dispatches.
    • If the auto/update-policyengine-bundle-<version> branch exists without an open PR (previously a permanent wedge when gh pr create failed after push), create the PR from the existing branch.
    • Retry uv lock up to 3 times to absorb PyPI Simple-index propagation lag.

Behavior guarantees

  • One single-version PR per release, on its own per-version branch — releases never stack as commits onto an existing PR.
  • Older update PRs are never auto-closed or superseded.

Rollout

The dispatch trigger is inert until the policyengine.py companion PR merges. In the interim, trigger manually with gh workflow run and the version input.


🤖 Generated with Claude Code

Replace the 30-minute PyPI polling cron with a repository_dispatch
trigger fired by policyengine.py's release pipeline. The dispatched
version feeds LATEST_OVERRIDE so each release produces exactly one
single-version PR on its own auto/update-policyengine-bundle-<version>
branch. Harden the update script: skip versions not newer than the
current pin (FORCE=1 to override), recreate the PR when the branch
exists without one, and retry uv lock to absorb PyPI index lag.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Jul 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.72%. Comparing base (d05e429) to head (446d995).
⚠️ Report is 2 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #3724   +/-   ##
=======================================
  Coverage   79.72%   79.72%           
=======================================
  Files          70       70           
  Lines        4326     4326           
  Branches      807      807           
=======================================
  Hits         3449     3449           
  Misses        657      657           
  Partials      220      220           

☔ View full report in Codecov by Harness.
📢 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.

@anth-volk anth-volk merged commit 88420f0 into master Jul 3, 2026
10 checks passed
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