Skip to content

fix(ci): stop all-acceptance-tests passing when no tests ran - #13469

Open
oc-tmueller wants to merge 2 commits into
owncloud:masterfrom
oc-tmueller:ci/fix-acceptance-gate-needs-build
Open

oc-tmueller wants to merge 2 commits into
owncloud:masterfrom
oc-tmueller:ci/fix-acceptance-gate-needs-build

Conversation

@oc-tmueller

Copy link
Copy Markdown
Contributor

Problem

The required all-acceptance-tests check can go green when no acceptance test ran.

The gate didn't list build-and-test in its needs, and it only failed on a failure or cancelled need.
When build-and-test fails or is cancelled, every test job is skipped. The gate then sees only skipped
results and exits 0.

This has already happened. Three PRs were merged on 2026-11-11 with a green required check, but the only
Acceptance Tests run on their head commit had build-and-test = cancelled and every test job skipped:

PR base run
#13431 master 43034025624
#13432 stable-9.0 43036369454
#13433 stable-9.0 43036376642

Those merges never had acceptance coverage, so it may be worth a manual run on master and stable-9.0.

Fix

  • Add build-and-test to the gate's needs, so its failure or cancellation fails the gate.
  • Outside docs-only, also fail on a skipped need. None of the test jobs has a job-level if:; each runs
    whenever build-and-test succeeded. So in a code run, a skipped need always means tests didn't run. This
    stops a future condition or dependency from reopening the same hole.

Docs-only changes still pass: the gate exits early for them. workflow_dispatch and [full-ci] force a full
run, so nothing there is skipped.

Backports to stable-9.0/8.2/8.0 will follow once this is merged.

🤖 Generated with Claude Code

oc-tmueller and others added 2 commits November 13, 2026 10:59
The required all-acceptance-tests gate did not list build-and-test in its
needs and only failed on a failed or cancelled need. When build-and-test
failed or was cancelled, every test job was skipped, and the gate saw only
skipped results and reported success: the required check went green with
no acceptance tests run.

Add build-and-test to the gate's needs, so its failure or cancellation
fails the gate. Docs-only changes still pass, because the gate exits early
for them before looking at the results.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: oc-tmueller <323649642+oc-tmueller@users.noreply.github.com>
Outside docs-only, no acceptance job has a condition of its own: each one
runs whenever build-and-test succeeded. A skipped need therefore always
means tests did not run. Fail on it instead of only on failed or cancelled
needs, so a future condition or dependency that skips the test jobs cannot
turn the required check green again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: oc-tmueller <323649642+oc-tmueller@users.noreply.github.com>
@oc-tmueller
oc-tmueller requested a review from a team as a code owner November 13, 2026 10:03
@update-docs

update-docs Bot commented Nov 13, 2026

Copy link
Copy Markdown

Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes.

@kw-security

kw-security commented Nov 13, 2026 •

Copy link
Copy Markdown

✅ Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
✅ Open Source Security 0 0 0 0 0 issues
✅ Licenses 0 0 0 0 0 issues
✅ Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

This branch has not been deployed

No deployments
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.

2 participants