From a2a3c4803d0267e48dc7968c3584500eb1a638a0 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 9 Sep 2026 17:03:10 +0000 Subject: [PATCH] =?UTF-8?q?ci:=20diet=20=E2=80=94=20concurrency=20cancel?= =?UTF-8?q?=20+=20no=20push/PR=20double=20runs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cancel obsolete CI runs on the same PR or push ref. Trigger push CI on master only so a feature-branch tip is not also tested via push while a PR covers it. Docs-only paths-ignore is push-only so contributor required checks still always report. Co-authored-by: Jason --- .github/workflows/ci.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 48bd0e7..9cecc59 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,11 +1,25 @@ name: CI +# Diet: one full run per change in the common case. +# - pull_request covers contributor and feature-branch work (required job names unchanged). +# - push is master-only so a feature/** tip is not also tested via push while a PR is open. +# - concurrency cancels obsolete runs on the same PR or the same push ref. +# Benchmark and release-please are separate workflows and are not in this group. on: push: - branches: [master, "feature/**"] + branches: [master] + # Safe on push only: docs-only master commits skip CI. Not applied to + # pull_request so required checks always report for contributors. + paths-ignore: + - "**/*.md" + - "docs/**" pull_request: branches: [master, "feature/**"] +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + jobs: lint: runs-on: ubuntu-latest