Dashboard › publish › Distillation
b422805c-c38d-46ab-b8ec-4f0cdb219a96["lore_tm_v1_5Qq3OmryqJROpPvASudOFk4VWPEI5leSDt7TyDXSEYE","lore_tm_v1_4W7yL5E2tEUL2smzaFy8zmfRnJ53c_0dDKbs_v9DwkE","lore_tm_v1_fMWV1ImtER5Gey-yy4R04U1HRwWnzynzodQoshxOoYY","lore_tm_v1_8-TrLQigLS1N-z_XE1fHKZHm0eATqW2NyhhVDZDZvOY","lore_tm_v1_oVMrp_0MIvP8Sd2HVSOUkAhTALEwHIoUbXKEaWXdLeI","lore_tm_v1_5UgIoBU81ZbRT5VJkAtWa9yyGa4-3S_ja_xJWbj70Rk","lore_tm_v1_pOxM_CXc2Nj9AVfScJQX_AAOkyUnGtQJ-Wv6NUbqYAg","lore_tm_v1_d4f-QWi-7FtFpEm2WkmCkcYzUavBVeuRWTKesmRlR8c","lore_tm_v1_CfmiA749pblZOLMH3w35--yHccxTrTz9fN3kyl4hi58","lore_tm_v1_rGomoPjaPNzJ6wwAUSq7uS2OZgI5Lupo1wQkL62u5wc"]
Date: Sep 10, 2026
83d210b29553ea6f4d97508821724a834c43856e..github/workflows/auto-approve.yml, .github/workflows/ci-poller.yml, .github/workflows/cocoapods-keepalive.yml, .github/workflows/publish.yml, .github/workflows/test.yml, AGENTS.md, README.md, docs/key_rotation_vault_changes.md, docs/rfc.md, src/libs/__tests__/github.js, src/libs/github.js, src/modules/__tests__/details-from-context.js, src/modules/__tests__/update-issue.js, src/modules/details-from-context.js, src/modules/post-workflow-details.js, src/modules/process-end-state.js, src/modules/update-issue.js, src/publish/inputs.js, src/publish/post-result.js, src/publish/post-workflow-details.js, and src/publish/update-issue.js..github/workflows/ci-poller-dispatch.yml, .lore.md, src/modules/__tests__/approval-attestation.js, src/modules/__tests__/approval-authorizer.js, src/modules/approval-attestation.js, src/modules/approval-authorizer.js, src/publish/__tests__/authorize-approval.js, src/publish/__tests__/auto-approval-workflow.js, src/publish/__tests__/ci-poller-workflow.js, src/publish/__tests__/current-accepted-event.js, src/publish/__tests__/publish-workflow.js, src/publish/__tests__/record-auto-approval-attestation.js, src/publish/__tests__/record-ci-ready-attestation.js, src/publish/__tests__/validate-approval-attestation.js, src/publish/__tests__/workflow-action-pinning.js, src/publish/authorize-approval.js, src/publish/current-accepted-event.js, src/publish/record-auto-approval-attestation.js, src/publish/record-ci-ready-attestation.js, and src/publish/validate-approval-attestation.js.yarn test --printConsoleTrace ran as vitest run --printConsoleTrace under Vitest v4.0.17; result: 16 test files passed and 84 tests passed, with no failures, in 2.34s (Yarn completed in 2.90s).src/modules/__tests__/approval-attestation.js 5; src/publish/__tests__/validate-approval-attestation.js 9; src/publish/__tests__/authorize-approval.js 7; src/modules/__tests__/update-issue.js 6; src/modules/__tests__/process-end-state.js 4; src/publish/__tests__/workflow-action-pinning.js 16; src/modules/__tests__/approval-authorizer.js 15; src/publish/__tests__/current-accepted-event.js 2; src/publish/__tests__/record-ci-ready-attestation.js 3; src/publish/__tests__/record-auto-approval-attestation.js 2; src/modules/__tests__/post-workflow-details.js 1; src/libs/__tests__/github.js 2; src/modules/__tests__/details-from-context.js 5; src/publish/__tests__/auto-approval-workflow.js 2; src/publish/__tests__/ci-poller-workflow.js 3; and src/publish/__tests__/publish-workflow.js 2.yarn lint ran eslint src .github --ignore-pattern '!.github' and passed with no reported errors in 1.18s.git diff --check produced no output, indicating it passed.ci-ready after it changes: βNever move a release to ci-ready after it changes.βci-ready..github/workflows/auto-approve.yml defines auto-approve non-sdks, triggered only for newly opened issues when the actor is sentry-release-bot[bot] or getsantry[bot] and the title starts with publish: ; job auto-approve runs on ubuntu-latest in the production environment with contents: read and issues: write..github/workflows/auto-approve.yml pins actions/checkout@11d5960a326750d5838078e36cf38b85af677262 and actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1; checkout is sparse to auto-approve-repos.txt, and app-token inputs use vars.SENTRY_INTERNAL_APP_ID and secrets.SENTRY_INTERNAL_APP_PRIVATE_KEY..github/workflows/auto-approve.yml runs node src/publish/record-auto-approval-attestation.js with APPROVAL_TOKEN, APPROVAL_ISSUE_NUMBER, APPROVAL_ISSUE_REPOSITORY, APPROVAL_ISSUE_TITLE, and AUTO_APPROVER; on success it posts ${{ steps.attestation.outputs.auto_approval_attestation }} as an issue comment..github/workflows/auto-approve.yml extracts the repository from publish: <repo>@... using sed, checks it with exact fixed-line matching via grep -qxF against auto-approve-repos.txt, and only then adds the accepted label using the generated Internal App token..github/workflows/ci-poller.yml includes a trusted-code checkout safeguard because workflow_dispatch can target any ref; the checkout action is pinned to actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803..github/workflows/ci-poller.yml binds each polling cycle to the current accepted-label event before inspecting CI, revalidates expected accepted-event details including EXPECTED_ACCEPTED_ACTOR, and prevents changed, renamed, or re-approved releases from reaching ci-ready..github/workflows/ci-poller.yml communicates failed approval verification with: Approval is invalid or could not be verified. Re-add the accepted label to retry after resolving the issue..github/workflows/cocoapods-keepalive.yml defines CocoaPods Token Keep-Alive, scheduled daily at midnight UTC with cron "0 0 * * *" because CocoaPods sessions currently expire after 3 days of inactivity (VALIDITY_LENGTH)..github/workflows/cocoapods-keepalive.yml job keepalive/Refresh CocoaPods Session runs on macos-15 in the production environment with contents: read, supplies COCOAPODS_TRUNK_TOKEN from secrets.COCOAPODS_TRUNK_TOKEN, installs CocoaPods using gem install cocoapods, prints pod --version, and refreshes the session with pod trunk me > /dev/null 2>&1.