From 7fdb348d05756e0f22c5444745b6074a6e4718b1 Mon Sep 17 00:00:00 2001 From: jyviko <2501648+jyviko@users.noreply.github.com> Date: Sun, 18 Oct 2026 09:11:11 -0400 Subject: [PATCH] ci: draft pull requests start no run; marking one ready does CI and the packaging lint listen for ready_for_review too, and their pull-request jobs skip drafts, so a contributor's work in progress no longer takes runners from develop and the release. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo --- .github/workflows/ci.yml | 8 +++++--- .github/workflows/packaging-lint.yml | 3 +++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4b53f83..9888662 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,6 +15,8 @@ name: CI # Nightly and manual runs, and every release (release.yml), run all of it. on: pull_request: + # A draft starts no run; marking it ready for review does. + types: [opened, synchronize, reopened, ready_for_review] paths: - '**' - '!**/*.md' @@ -56,7 +58,7 @@ env: jobs: plan: name: Plan (affected crates) - if: github.event.schedule != '41 4 * * 0' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository || github.event.pull_request.user.login == 'dependabot[bot]') + if: github.event.schedule != '41 4 * * 0' && (github.event_name != 'pull_request' || (!github.event.pull_request.draft && (github.event.pull_request.head.repo.full_name != github.repository || github.event.pull_request.user.login == 'dependabot[bot]'))) runs-on: ${{ github.event_name != 'pull_request' && vars.SELF_HOSTED_RUNNER || 'ubuntu-24.04' }} timeout-minutes: 15 permissions: @@ -116,7 +118,7 @@ jobs: bots: name: Claim and triage bot tests - if: github.event.schedule != '41 4 * * 0' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository || github.event.pull_request.user.login == 'dependabot[bot]') + if: github.event.schedule != '41 4 * * 0' && (github.event_name != 'pull_request' || (!github.event.pull_request.draft && (github.event.pull_request.head.repo.full_name != github.repository || github.event.pull_request.user.login == 'dependabot[bot]'))) runs-on: ubuntu-24.04 timeout-minutes: 5 steps: @@ -231,7 +233,7 @@ jobs: advisories: name: Dependency licences, advisories and sources - if: github.event.schedule != '41 4 * * 0' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository || github.event.pull_request.user.login == 'dependabot[bot]') + if: github.event.schedule != '41 4 * * 0' && (github.event_name != 'pull_request' || (!github.event.pull_request.draft && (github.event.pull_request.head.repo.full_name != github.repository || github.event.pull_request.user.login == 'dependabot[bot]'))) runs-on: ${{ github.event_name != 'pull_request' && vars.SELF_HOSTED_RUNNER || 'ubuntu-24.04' }} timeout-minutes: 20 steps: diff --git a/.github/workflows/packaging-lint.yml b/.github/workflows/packaging-lint.yml index a8b781a..c6f7482 100644 --- a/.github/workflows/packaging-lint.yml +++ b/.github/workflows/packaging-lint.yml @@ -9,6 +9,8 @@ on: branches: [develop] paths: [".github/workflows/**", "packaging/**"] pull_request: + # A draft starts no run; marking it ready for review does. + types: [opened, synchronize, reopened, ready_for_review] paths: [".github/workflows/**", "packaging/**"] workflow_dispatch: @@ -22,6 +24,7 @@ concurrency: jobs: lint: name: Packaging lint + if: github.event_name != 'pull_request' || !github.event.pull_request.draft runs-on: ubuntu-24.04 timeout-minutes: 10 env: