Skip to content

Queue completed CI reruns without accelerating dashboard refreshes - #23

Merged
zhaozhaozz merged 1 commit into
mainfrom
feature/ci-rerun-updates
Oct 19, 2026
Merged

zhaozhaozz merged 1 commit into
mainfrom
feature/ci-rerun-updates

Conversation

@zhaozhaozz

@zhaozhaozz zhaozhaozz commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

An older Actions run can be rerun outside the dashboard's created-time polling window, leaving the CI point red until reconciliation. Retain completed rerun IDs so the next existing collection can refresh their latest attempts directly.

  • Register workflow_run.completed only for attempts greater than one, after signature, scope and delivery checks. Coalesce by source/run and commit with the archive transaction; retain hints across restarts.
  • Add collector-only POST /actions/reruns and /actions/reruns/ack. Reuse the fixed repository/owner IDs, main branch, collect.yml and schedule/workflow_dispatch identity checks. Read at most 20 hints with fair rotation; acknowledge exact attempt/revision pairs only after the dashboard publishes successfully.
  • Leave refresh generations, debounce, alarms, dispatch frequency, OIDC trust and token permissions unchanged. The queue stores IDs and revisions, not bodies or artifacts. Node local mode keeps its existing behavior.

Companion collector: ScienceDiscovery/github-status-board#20. Deploying this endpoint first is safe: hints remain queued until a compatible collector acknowledges them. The GitHub App must already deliver workflow_run events; requested is not used.

Validation at 1b339f0c764327113434db68ca59ebd8d1b046cf:

Type Command / scenarios Result
Checks npm run check, npm run build, npm run workers:check PASS; dry-run only
Regression tests npm test PASS, 190 tests
API journey node --import tsx --test tests-ts/worker-run-changes.test.mjs; signed deliveries, duplicate notifications, restart, transaction rollback, fair batches, stale acknowledgements, fixed OIDC scope, unchanged outbox/alarm PASS, 7 tests
Browser journeys npm run test:e2e:cloud-admin; actual listener registry, management regression, desktop and 390px layout PASS, 5 journeys

No live collection or deployment was performed.

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