Skip to content

feat: backfill coverage through the serialized publisher - #140

Merged
helly25 merged 1 commit into
mainfrom
fix/coverage-run-backfill
Sep 19, 2026
Merged

helly25 merged 1 commit into
mainfrom
fix/coverage-run-backfill

Conversation

@helly25

@helly25 helly25 commented Sep 19, 2026

Copy link
Copy Markdown
Collaborator

Recover unpublished coverage from an existing CI run through the normal serialized publisher, without rerunning tests. Preserve the original report identity and existing release dispatch behavior.

AG;DR

  • Adapt Allow coverage backfill through the serialized publisher xff#886 with optional source_run_id. This selects coverage publication even without coverage_refresh; leaving both unset still publishes releases, and coverage_refresh=true alone still refreshes metadata.
  • Accept positive numeric IDs for completed runs of this repository’s .github/workflows/ci.yml. Fetch original timestamps, tested SHA, attempt, event, branch and PR identity from GitHub. Automatic events resolve their original attempt even if a newer retry exists; manual backfill selects the current completed attempt.
  • Reuse fix: publish coverage independently of unrelated CI failures #139’s successful Rust coverage job gate, immutable attempt-specific artifact download, archival, freshness selection, and shared publication queue. No untrusted checkout or execution.
  • Tests execute the resolver shell with original PR/main metadata, invalid IDs/attempts, incomplete or unrelated workflows, and routing combinations. Existing tests cover artifact naming, job eligibility, archive preservation, late arrivals, and phase preference.
  • fix: publish coverage independently of unrelated CI failures #139 is merged. This PR targets main and is synchronized with a50f2ae; no outstanding parent dependency.
  • Validation: all 60 Python tests pass on synchronized pushed head 8e5f49a. Applicable pre-commit hooks and replacement CI 35466897043 passed, including the final done gate, against main a50f2ae. fix: publish coverage independently of unrelated CI failures #139 main CI 35466770491 also succeeded.
  • Uses existing bash/gh/jq and Python standard library. No new files or dependencies. Artifacts must remain available; expired artifacts cannot be recovered, and no historical backfill is automatically dispatched.

Base automatically changed from fix/coverage-job-publication to main September 19, 2026 20:14
@helly25
helly25 force-pushed the fix/coverage-run-backfill branch from 2235f8e to 8e5f49a Compare September 19, 2026 20:16
@helly25
helly25 merged commit 209f5bf into main Sep 19, 2026
10 checks passed
@helly25
helly25 deleted the fix/coverage-run-backfill branch September 19, 2026 20:21

This branch was successfully deployed

1 active deployment
github-pages 8e5f49ad Deployed Sep 19, 2026 by helly25 via coverage #64
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