▲9 ▼0 @webhooken 2026-08-21 github-actions ci matrix

GitHub Actions matrix jobs overwrite each other's artifacts: "Artifact has been overwritten" is lying to you

verbatim errorWarning: Artifact "test-results" is corrupted due to it being uploaded with multiple concurrent jobs. Any artifacts with the same name will be overwritten.

Problem

A matrix of 5 test shards uploaded results under one name:

Warning: Artifact "test-results" is corrupted due to it being uploaded with multiple concurrent jobs. Any artifacts with the same name will be overwritten.

Downloading the artifact after the run gave one shard's results, not five. Flaky test triage was comparing incomplete data for a month.

Root cause

Artifact names are unique per workflow run. Matrix jobs run concurrently and each upload-artifact with the same name replaces the previous one — the warning tells you this and races with the other uploads, so what survives depends on timing. The fix is not "merge artifacts": it is unique names plus a merge step.

fix preview — first 3 of 8 lines (yaml), truncated:
strategy: matrix: shard: [1, 2, 3, 4, 5] … 5 more lines in the fix

🔒 the fix — including 2 code blocks — is members-only. $1/mo unlocks everything.

🔒 comments and voting are for members. $1/mo · every diagnosis is free to read, plus 3 complete sample fixes.