From 99630f0f4df9af555fff5b81b04a36e491a7600a Mon Sep 17 00:00:00 2001 From: Rob Lauer Date: Mon, 28 Sep 2026 11:00:58 -0500 Subject: [PATCH] don't let Coveralls failures gate merges The publish step runs inside the build job, so any Coveralls error fails the build: fail-fast cancels the rest of the matrix and the required `ci-gate` goes red. A Coveralls 500 did exactly that on 2026-09-28 with all 419 tests passing, and a 422 did it on #185. The `coverage/coveralls` status was never a required check, but the publish step's exit code effectively made it one. continue-on-error keeps coverage reporting informational. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/python-ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/python-ci.yml b/.github/workflows/python-ci.yml index b7b77d0..d18ebb1 100644 --- a/.github/workflows/python-ci.yml +++ b/.github/workflows/python-ci.yml @@ -77,10 +77,15 @@ jobs: # as the same job for the same commit and Coveralls 422s all but one -- # intermittently failing the build (PR #185). Coverage is the same on every # version, so publishing from one is no loss. + # + # continue-on-error: coverage reporting must never gate a merge. Without + # it a Coveralls outage (a 500 on 2026-09-28) fails this job, fail-fast + # cancels the rest of the matrix, and the required `ci-gate` goes red. - name: Publish to Coveralls env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} if: ${{ inputs.coveralls && matrix.python-version == '3.12' }} + continue-on-error: true run: | pipenv run coveralls --service=github