Dashboard › publish › Distillation
700e3f04-e52d-4db8-8a37-000048c123f7["lore_tm_v1_moOqVam1uBsBMCrSFCBUo5SfqFHwrWcJJ4yD0nkngi4","lore_tm_v1_cS4Z2SPjYyNEBr68oQhJlDnkIgUHYKCUfsd2jL2kL8E","lore_tm_v1_2pQzG9QZLn6E2hlknyjngCm_M9jNqHi3Kc-Qn48azzw","lore_tm_v1_fl6nJCcYdrAxiP0eG-3E5-Sa8D70NWH9ReFlq0UZJ84","lore_tm_v1_U4kRdnYMix7MgxtPIEKNH6-vAeNxWdbj8UA2vODZQMg"]
Date: Sep 5, 2026
ci-ready after that approval event changes.ci-ready.ci-ready; publish.yml removes ci-ready first so that a fresh labeled event fires, making the publish-job gate safe.workflow_dispatch must always be allowed for manual recovery./home/byk/Code/getsentry/publish has modifications including .github/workflows/ci-poller.yml, .github/workflows/publish.yml, AGENTS.md, src/libs/__tests__/github.js, src/libs/github.js, src/modules/__tests__/update-issue.js, src/modules/details-from-context.js, src/modules/update-issue.js, src/publish/post-workflow-details.js, and src/publish/update-issue.js; .github/workflows/ci-poller.yml shows 140 changed lines..github/workflows/ci-poller.yml changes workflow permissions from issues: read to issues: write, polls only issues carrying both ci-pending and accepted, obtains an accepted-label event ID and actor, and uses EXPECTED_ACCEPTED_EVENT_ID/EXPECTED_ACCEPTED_ACTOR during validation.repos/${repo}/commits/${sha}/check-runs with pagination, and distinguishes pending, unsuccessful, absent, successful, and failed CI states.accepted (and in some paths ci-pending), posts “Approval is invalid or could not be verified. Re-add the accepted label to retry after resolving the issue.”, and logs warnings; on CI failure it swaps ci-pending to ci-failed and removes accepted.node src/publish/record-ci-ready-attestation.js to create CI-ready proof and uses APPROVAL_ATTESTATION_AUTHOR="github-actions[bot]" for approval-attestation validation.publish.yml contains an approval authorization/attestation flow: node src/publish/authorize-approval.js runs with continue-on-error: true; an approval-validation step runs node .__publish__/src/publish/validate-approval-attestation.js; invalid validation has an always() failure-handling path that comments on the issue.publish.yml has a publish-job gate requiring ci-ready and excluding ci-failed; it checks out the publish source into .__publish__ and uses node .__publish__/src/publish/inputs.js.publish.yml cleanup/result steps at lines 383–409 run node .__publish__/src/publish/update-issue.js on ${{ cancelled() || failure() }}, post-result.js cancelled on cancellation, post-result.js failure on failure, and post-result.js success on success; each passes PUBLISH_ARGS: ${{ steps.inputs.outputs.result }} and GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}.ci-poller.yml defines workflow_dispatch inputs, uses concurrency group ci-status-poller, obtains a release-bot token, and includes fallback handling for cases where the CI check step fails before CI_POLLER_HAS_PENDING is set.