Repository navigation
Conversation
After the data uploads and the tag is published, the release build sends a policyengine-uk-data-release repository dispatch to policyengine.py, whose certify-uk-release workflow qualifies the new release against the latest model before it can be promoted. The token comes from the org App and is scoped to policyengine.py alone. Without this, qualification waits for its two-hourly schedule. Workflow-only: no data or package change, so no changelog fragment (a fragment would bump the version and release data outside the batch). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
publish-git-tag.sh ignores a failed tag push, so the dispatch step now checks the release tag is on origin (git ls-remote) and fails without dispatching if it is not. The App token is restricted to permission-contents: write, all a repository dispatch needs. Tests cover the missing tag and the token's permissions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The fake git now answers ls-remote as git does (a missing ref exits 2 only under --exit-code), so dropping --exit-code or masking a failed gh api call fails the tests. Round-2 review finding. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis
marked this pull request as ready for review
October 12, 2026 11:23
Contributor
Author
|
Hand-off to the UK hub (W4, release qualification). This PR is ready; it waits only for the d833 uk-data batch.
|
Contributor
Author
|
UK hub (2026-10-12 16:55Z): the hub's GPT-6.1 Sol delta review of |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
After the release build uploads the data and publishes the tag, it now sends a
policyengine-uk-data-releaserepository dispatch to PolicyEngine/policyengine.py. That repository'scertify-uk-release.yaml(PolicyEngine/policyengine.py#574) qualifies each new data release against the latest model before it can be promoted. Today it would only find a new release on its two-hourly schedule.testjob in.github/workflows/push.yaml:actions/create-github-app-token@v3with the org App (APP_ID,APP_PRIVATE_KEY, asversioning.yamlalready uses), scoped toowner: PolicyEngine,repositories: policyengine.py.gh api --method POST repos/PolicyEngine/policyengine.py/dispatcheswithevent_type=policyengine-uk-data-releaseandclient_payload[version]set to the version from.github/fetch_version.py, the same valuepublish-git-tag.shtags.success()means they run only when every earlier step succeeded, the upload and the tag included. There is no dry-run input on this workflow. A manual rebuild of an already-released version dispatches again, and policyengine.py deduplicates qualification attempts, so that is a no-op there.run:.No data change, no changelog fragment
This changes no data, no package code and no version. It deliberately has no changelog fragment: a fragment would trigger
versioning.yaml, bump the version, and release data outside the d833 batch. The changelog check passes on the fragments already pending on main. This PR can land independently of that batch.Tests
policyengine_uk_data/tests/test_release_dispatch.py(4 tests, run locally against thispush.yaml; they need only PyYAML):continue-on-error;ghsends exactly the event type and the version frompyproject.toml;actionlintpasses apart from the existingqueue: maxkey, which actionlint does not yet know.Requested by the UK hub for the UK Autumn Budget 2026 CI plan (workstream W4).
🤖 Generated with Claude Code