Skip to content

Open policyengine update PRs from policyengine-release dispatch#606

Open
anth-volk wants to merge 1 commit into
mainfrom
feat/policyengine-release-dispatch
Open

Open policyengine update PRs from policyengine-release dispatch#606
anth-volk wants to merge 1 commit into
mainfrom
feat/policyengine-release-dispatch

Conversation

@anth-volk

Copy link
Copy Markdown
Contributor

Summary

Converts the simulation API's policyengine 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

  • check-policyengine-updates.yml: 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.
    • Retry uv lock up to 3 times to absorb PyPI Simple-index propagation lag.

update-dependencies.yml (general dependency updates) is intentionally untouched.

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-<version> branch.
Harden the update script: skip versions not newer than the current pin
(FORCE=1 to override) and retry uv lock to absorb PyPI index lag.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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