From d04aed4f9604f651fbb49181320076da2b4b5240 Mon Sep 17 00:00:00 2001 From: Michael Gilardi <11632652+mgilardi@users.noreply.github.com> Date: Mon, 9 Nov 2026 18:03:23 -0700 Subject: [PATCH] Follow the Actions minutes rules in CI Owner's rules of 2026-11-10 (ops rules/actions-minutes.md): builds run once per change, on pushes to main and on pull requests, never both for the same commit; draft PRs and docs-only changes don't build; a newer push cancels the older run; every job has a timeout (15 minutes for builds, 20 for releases), and releases are never cancelled mid-way. This repo is public, so its minutes are free; the rules apply anyway. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/build.yml | 9 +++++++++ .github/workflows/release.yml | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index afa2395..e800d48 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,11 +2,20 @@ name: Build on: push: + branches: [main] + paths-ignore: ['**.md', 'docs/**'] pull_request: + paths-ignore: ['**.md', 'docs/**'] + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true jobs: build: + if: github.event_name != 'pull_request' || !github.event.pull_request.draft runs-on: ubuntu-latest + timeout-minutes: 15 steps: - uses: actions/checkout@v4 - name: Leak check (emails and build output; private terms are only checked locally) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 57fcc3d..afe91c6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,9 +8,14 @@ on: permissions: contents: write +concurrency: + group: release-${{ github.ref }} + cancel-in-progress: false + jobs: release: runs-on: ubuntu-latest + timeout-minutes: 20 steps: - uses: actions/checkout@v4 - name: Leak check