The GitHub Actions job "Codecov Upload" on texera.git/main has succeeded.
Run started by GitHub user aglinxinyuan (triggered by aglinxinyuan).

Head commit for run:
dda9e830f54e0fa74dcf0fd5d41a3c2e1a0c989c / Xinyuan Lin <[email protected]>
ci: discover staged Codecov flags instead of a hardcoded matrix (#6824)

### What changes were proposed in this PR?

Follow-up to #6730. The deferred `Codecov Upload` workflow hardcoded all
11 flags in its matrix and tried to download each from the source run.
On a label-gated PR — e.g. a frontend-only PR that only stages
`codecov-frontend` — the other 10 legs hit `##[error] Artifact not found
for name: codecov-<flag>`, which looks like a name mismatch; and because
the download used `continue-on-error: true`, a genuinely failed download
was swallowed, the leg went green, and `notify-failure` never fired.

**Fix:** add a `discover` job that lists the source run's *actual*
`codecov-*` artifacts and drives the upload matrix from that
(`fromJSON`), and drop `continue-on-error` on the download.

- **No more spurious errors** — only the flags the source run actually
built are processed; a frontend-only PR runs one clean leg.
- **Failures surface** — a listed artifact that then fails to download
or upload fails the leg, so `notify-failure` fires (previously it went
silently green).
- Also removes the hardcoded flag list, so adding a `platform` service
no longer needs a matching matrix row here.

Observed on the first live run after #6730 merged ([run
29984668372](https://github.com/apache/texera/actions/runs/29984668372),
triggered by a frontend-only PR's checks): `frontend` uploaded fine, but
10 legs logged `Artifact not found` for the label-gated flags and the
run still went green.

### Any related issues, documentation, discussions?

Follow-up to #6730 (reported on #6685).

### How was this PR tested?

- `workflow_run` only activates from the copy of the file on the default
branch, so this can't run on its own PR. Validated by YAML lint and an
adversarial review of the discover → upload → notify flow: empty-flags
cleanly skips (no failure, no notify), the dynamic `fromJSON` matrix
handles one or many flags, a download/upload failure now fails the leg
and fires `notify-failure`, `amber-integration` (results-only) skips the
coverage step via `hashFiles`, and the `workflow_dispatch` path resolves
the run id.
- The `workflow_dispatch` (`run_id`) entry remains for manual post-merge
validation against a finished *Required Checks* run.

### Was this PR authored or co-authored using generative AI tooling?

Yes.

Generated-by: Claude Code (Opus 4.8 [1M context])

Report URL: https://github.com/apache/texera/actions/runs/30039133036

With regards,
GitHub Actions via GitBox

Reply via email to