Skip to content

ci(simulation): carry results as annotations, not artifacts - #23

Draft
Julian Gruber (juliangruber) wants to merge 1 commit into
mainfrom
ci/simulation-results-via-annotations
Draft

Julian Gruber (juliangruber) wants to merge 1 commit into
mainfrom
ci/simulation-results-via-annotations

Conversation

@juliangruber

Copy link
Copy Markdown
Member

Why

The first dispatch of the simulation on main (run 36721798455) lost all 50 install results: every job failed at the upload step because .github/actions/fleet/upload-artifact has no action.yml on a bare checkout. The fleet's artifact composites are hydrated payload, not tracked files. The installs themselves completed and classified correctly; the results were only recoverable by reading each job's log by hand.

What

Each install job emits its result as a ::notice title=sim-result::{json} annotation. The report job lists the run's install jobs and reads those annotations back through the checks API, which is how it already counts binary download failures. No artifacts, no third-party actions.

🤖 Generated with Claude Code

The fleet's upload-artifact and download-artifact composites are
hydrated payload, so on the bare bootstrap checkout this workflow uses
they have no action.yml and every install job failed at the upload step
(run 36721798455, 51 of 52 jobs). The installs themselves completed and
classified fine.

Emit each result as a `sim-result` notice annotation instead, and have
the report job read the install jobs' annotations back through the
checks API, which it already does for the download-failure breakdown.
@juliangruber
Julian Gruber (juliangruber) force-pushed the ci/simulation-results-via-annotations branch from f706ec9 to 64040f1 Compare September 30, 2026 13:42
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