From aa902138ac225f11b46e7eac61200eab40730e66 Mon Sep 17 00:00:00 2001 From: Kush Date: Thu, 20 Aug 2026 11:52:07 -0400 Subject: [PATCH] ci: run tests on PRs into feat/** branches, not just main MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stacked PRs got no CI. A chain like feat/a <- feat/b <- feat/c only ever triggered the workflow on the PR targeting main, so the branches carrying the most unreviewed change were the ones with no test, lint, or security run — each only got gated after its parent merged and it was retargeted. Found while landing the 10DLC stack: two PRs with ~8k lines between them were running Snyk only. --- .github/workflows/ci.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b4dffc4..52ff6d3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,8 +3,12 @@ name: CI on: push: branches: [main] + # Also run on PRs into long-lived feature branches, not just main. Stacked + # PRs (a chain like feat/a <- feat/b <- feat/c) otherwise get no test, lint, + # or security run at all until the parent merges and the child is retargeted + # — so the branches carrying the most work are the ones never gated. pull_request: - branches: [main] + branches: [main, 'feat/**'] jobs: # Doc/flag correctness is enforced as a hard gate by cmd/doccontract_test.go,