Skip to content

Commit 6f1f166

Browse files
authored
fix(ci): stop a stalled Codecov upload from cancelling the Coverage job and the main run (main twin of #11972) (#11978)
Same change as #11972 on release/v3.8.51: the Coverage job had timeout-minutes: 20, the c8 merge across 8 shards takes ~10 min and the informational Codecov upload hung for the rest of the budget on two consecutive main runs (33207760653, 33215115341), ending the job cancelled and turning the run's conclusion cancelled with every blocking job green. Codecov step: 5-minute ceiling + continue-on-error; job: 30 min.
1 parent 8aa3f1e commit 6f1f166

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -976,7 +976,11 @@ jobs:
976976
# 10min was sized before #7114 added the lcov reporter (Codecov/Sonar need it);
977977
# merging 8 shard JSONs + text+json+lcov now takes ~10-12min — three consecutive
978978
# release-tip runs died at exactly 10m as job-timeout "cancelled" (2026-07-15/16).
979-
timeout-minutes: 20
979+
# 30, not 20 (2026-08-29): the informational Codecov upload below hung for the rest of
980+
# the budget on two consecutive main runs (33207760653, 33215115341); the job ended
981+
# `cancelled` and dragged the whole run's conclusion to `cancelled` although every
982+
# blocking job was green. The upload step now has its own ceiling; this is headroom.
983+
timeout-minutes: 30
980984
needs: test-unit
981985
if: ${{ !cancelled() && needs.test-unit.result == 'success' && !contains(github.event.pull_request.labels.*.name, 'hotfix') }}
982986
env:
@@ -1055,6 +1059,10 @@ jobs:
10551059
# (if-no-files-found: warn) — Sonar consumes the same file.
10561060
- name: Upload coverage to Codecov (informational)
10571061
if: always()
1062+
# Informational means informational: its own ceiling and continue-on-error, so a
1063+
# stalled upload can neither eat the job's budget nor turn a green job cancelled.
1064+
timeout-minutes: 5
1065+
continue-on-error: true
10581066
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
10591067
with:
10601068
files: coverage/lcov.info
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
- `Coverage` job on `ci.yml`: the informational Codecov upload gets its own 5-minute ceiling and `continue-on-error`, and the job budget grows from 20 to 30 minutes (the 8-shard c8 merge alone takes ~10) — a stalled upload no longer ends the job `cancelled` and drags a fully green `main` run's conclusion down with it

0 commit comments

Comments
 (0)