From 3b1da278d18678cc0719002aa1930c8279f300aa Mon Sep 17 00:00:00 2001 From: teknium1 <127238744+teknium1@users.noreply.github.com> Date: Sat, 26 Sep 2026 22:15:55 -0700 Subject: [PATCH] ci: Desktop update E2E is advisory via continue-on-error, not by leaving all-checks-pass tests/ci/test_stable_release_graph.py requires every reusable-workflow job in all-checks-pass; keep it there and let a red shard show without failing the gate. Log a resource trail during the run: every shard's runner died ~2 minutes into seeding on the first CI run with only 'The runner has received a shutdown signal'. --- .github/workflows/ci.yaml | 4 +++- .github/workflows/e2e-desktop-update.yml | 9 +++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index b3fc5b2a93..a9a641b0a3 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -194,7 +194,8 @@ jobs: needs: detect # apps/desktop/e2e/update: a real install.sh install + packaged Desktop, # first run, "Update now" hand-off/relaunch, concurrent-update refusal. - # Not in all-checks-pass yet: it joins the required set once it has proven stable on CI. + # Advisory until it has proven stable on CI: its shards run with continue-on-error, so a + # red shard shows on the PR but does not fail all-checks-pass. if: ${{ needs.detect.outputs.python_prod == 'true' || needs.detect.outputs.frontend == 'true' }} uses: ./.github/workflows/e2e-desktop-update.yml @@ -313,6 +314,7 @@ jobs: - bootstrap-installer - e2e-desktop - e2e-desktop-core + - e2e-desktop-update - docs-site - history-check - contributor-check diff --git a/.github/workflows/e2e-desktop-update.yml b/.github/workflows/e2e-desktop-update.yml index 688e356aee..bad9b2230c 100644 --- a/.github/workflows/e2e-desktop-update.yml +++ b/.github/workflows/e2e-desktop-update.yml @@ -28,6 +28,8 @@ jobs: name: Desktop install/update E2E (Linux, ${{ matrix.cell }}) runs-on: ubuntu-latest-32-core timeout-minutes: 30 + # Advisory until stable on CI (see ci.yaml): a red shard does not fail the caller. + continue-on-error: true strategy: fail-fast: false # One install per shard (every spec restores it; paths are baked in, so @@ -75,6 +77,13 @@ jobs: - name: Run the update suite under xvfb working-directory: apps/desktop run: | + # Resource trail in the log, so a runner that dies mid-run leaves its last state behind. + ( while sleep 20; do + echo "::group::resources $(date -u +%T)" + df -h / "$RUNNER_TEMP" | tail -n +2; free -g | head -2 + ps -eo pid,ppid,etimes,rss,args --sort=-rss | head -8 | cut -c1-200 + echo "::endgroup::" + done ) & xvfb-run -a --server-args="-screen 0 1280x1024x24" \ npx playwright test -c e2e/update/playwright.config.ts ${{ matrix.specs }} env: