aglinxinyuan opened a new pull request, #6824:
URL: https://github.com/apache/texera/pull/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])
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to