Skip to content

fix(ci): a push to development must reach a verdict here too - #474

Merged
rubenvdlinde merged 1 commit into
developmentfrom
fix/push-runs-must-not-be-cancelled
Aug 28, 2026
Merged

fix(ci): a push to development must reach a verdict here too#474
rubenvdlinde merged 1 commit into
developmentfrom
fix/push-runs-must-not-be-cancelled

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Completes ConductionNL/.github#597, which only got half the fleet.

What #597 missed

#597 set cancel-in-progress: ${{ github.event_name != 'push' }} on the shared quality.yml. But a caller's own concurrency cancels the whole run before the called workflow's setting can apply — so the fix reached only the apps that declare no concurrency of their own.

I reported #597 as fixing the cancellation. It fixed 8 of 21.

Measured, not assumed

Push runs on development created after #597 merged (2026-08-27T19:45Z), completed runs only:

caller declares cancel-in-progress: true cancelled / completed
no#597 applies 0 / 11
yes#597 overridden 7 / 13 (54%)

A clean natural experiment: same shared workflow, same traffic, the only difference is whether the caller overrides it. This repo is in the second group.

The change

One line, plus the comment explaining why it has to be said here and not only upstream:

-  cancel-in-progress: true
+  cancel-in-progress: ${{ github.event_name != 'push' }}

pull_request keeps cancelling — there only the latest head commit is meaningful. The group expression is untouched, including its Sync to Beta reasoning.

Why it matters

A cancelled run is not a failure, but it is not a pass either — it is no verdict, and it renders as "nothing wrong here" in every summary that counts failures. Concrete casualties found today once runs started completing: learniq shipped an eslint error, dossiq shipped 15 invalid manifest actions rendering as empty clickable rows, launchpad shipped 8 untranslated strings, and openregister shipped a phpmd violation plus a broken flow-create E2E — none of them reported.

Verified: YAML parses on all 13 patched files; diff is the one line plus comment.

.github#597 set cancel-in-progress on the shared quality.yml, but a
caller-level concurrency cancels the whole run before the called
workflows setting can apply -- so that fix reached only the apps that
declare no concurrency of their own.

Measured 2026-08-28 over push runs on development since #597 merged:

    caller silent          0 of 11 cancelled
    caller says true       7 of 13 cancelled  (54%)

This repo is in the second group. pull_request keeps cancelling, where
superseding really is correct.
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/keepiq @ 3e0f659

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-manifest
test-l10n
format
check-l10n-js
check-schema-l10n
composer ✅ 111/111
npm ✅ 550/550
app:check-code ⏭️
info.xml
REUSE
PHPUnit
Newman
Playwright
Hydra gates

Quality workflow — 2026-08-28 08:48 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde
rubenvdlinde merged commit 650f861 into development Aug 28, 2026
44 checks passed
@rubenvdlinde
rubenvdlinde deleted the fix/push-runs-must-not-be-cancelled branch August 28, 2026 08:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant