Commit 41830df7c1

41830df7c1433175c26855c532f48f45d52d98c5

parent: d5dec7be8a

Unsigned

cmc <hello@cleberg.net> · 2026-07-16 16:39 UTC

ci: drop the redundant post-merge test run

The suite ran on push to main and on pull_request. Since merges here are
merge commits (not squash) and pull_request tests the merge result, a
green PR already validates the exact tree that lands on main — the push
run just re-confirmed it on a macOS runner. Trigger on pull_request (and
workflow_dispatch) only.

Layout: unified · split

.github/workflows/test.yml +11 −4
@@ -8,13 +8,20 @@ name: Tests
8# source directory still runs the suite. A skip rule that is too broad is how a 8# source directory still runs the suite. A skip rule that is too broad is how a
9# real change slips through ungated. 9# real change slips through ungated.
10# 10#
11# Safe on pull_request only because main has no required status checks: a run 11# pull_request only, by design. GitHub runs the suite against the merge result
12# (PR merged into main), so a green PR already validates exactly what lands on
13# main. Merges here are merge commits, not squash, so the merged main is the same
14# tree that was tested — re-running on push to main would only burn a macOS runner
15# to re-confirm a result we already have.
16#
17# The tradeoff: a non-docs change pushed straight to main (bypassing a PR) is not
18# tested. That is not how this repo works — only docs go direct to main, and those
19# are path-skipped anyway.
20#
21# Safe as pull_request-only because main has no required status checks: a run
12# skipped by a path filter never reports, so a required check would leave a 22# skipped by a path filter never reports, so a required check would leave a
13# docs-only PR waiting forever. 23# docs-only PR waiting forever.
14on: 24on:
15 push:
16 branches: [main]
17 paths-ignore: ['*.md', 'Docs/*.md']
18 pull_request: 25 pull_request:
19 paths-ignore: ['*.md', 'Docs/*.md'] 26 paths-ignore: ['*.md', 'Docs/*.md']
20 workflow_dispatch: 27 workflow_dispatch: