From 2c8507590f520574819167f976eec34b9a6f7cce Mon Sep 17 00:00:00 2001 From: Andy Grove Date: Thu, 16 Jul 2026 18:47:10 -0600 Subject: [PATCH] ci: skip expensive workflows for docs-only changes The TPC-H, TPC-DS, Rust, Docker, and Web TUI workflows are already gated on path allowlists, but those allowlists use whole-directory globs such as `ballista/**` and `benchmarks/**`. Ten markdown files live inside those directories, so a README-only change fires both benchmark suites and three builds. PR #2015 touched only `ballista/client/README.md` and ran the full matrix for nothing. Append `!**/*.md` to each `paths` list. GitHub applies patterns in order and lets the last match win, so the exclusion must come last. Changes that mix code and markdown still trigger every workflow. The prettier check in `dev.yml` is deliberately left ungated since it lints markdown, as is the `docs.yaml` site deploy. --- .github/workflows/docker.yml | 4 ++++ .github/workflows/rust.yml | 4 ++++ .github/workflows/tpcds.yml | 4 ++++ .github/workflows/tpch.yml | 4 ++++ .github/workflows/web-tui.yml | 4 ++++ 5 files changed, 20 insertions(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 3d35d2f204..86d6ae80ef 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -28,6 +28,8 @@ on: - "dev/docker/**" - "dev/build-ballista-docker.sh" - ".github/workflows/docker.yml" + # docs-only changes cannot affect this job; exclusions are applied last + - "!**/*.md" push: branches: [ "main" ] paths: @@ -40,6 +42,8 @@ on: - "dev/docker/**" - "dev/build-ballista-docker.sh" - ".github/workflows/docker.yml" + # docs-only changes cannot affect this job; exclusions are applied last + - "!**/*.md" concurrency: group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }} diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 47ced05470..5ea9f334b9 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -38,6 +38,8 @@ on: - ".github/actions/setup-windows-builder/**" - ".github/actions/setup-rust-runtime/**" - ".github/workflows/rust.yml" + # docs-only changes cannot affect this job; exclusions are applied last + - "!**/*.md" pull_request: paths: - "ballista/**" @@ -53,6 +55,8 @@ on: - ".github/actions/setup-windows-builder/**" - ".github/actions/setup-rust-runtime/**" - ".github/workflows/rust.yml" + # docs-only changes cannot affect this job; exclusions are applied last + - "!**/*.md" # manual trigger # https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow workflow_dispatch: diff --git a/.github/workflows/tpcds.yml b/.github/workflows/tpcds.yml index bc1ceb52fe..ddfa4c802b 100644 --- a/.github/workflows/tpcds.yml +++ b/.github/workflows/tpcds.yml @@ -35,6 +35,8 @@ on: - "rust-toolchain.toml" - ".github/workflows/tpcds.yml" - ".github/actions/setup-builder/**" + # docs-only changes cannot affect this job; exclusions are applied last + - "!**/*.md" pull_request: paths: - "ballista/**" @@ -44,6 +46,8 @@ on: - "rust-toolchain.toml" - ".github/workflows/tpcds.yml" - ".github/actions/setup-builder/**" + # docs-only changes cannot affect this job; exclusions are applied last + - "!**/*.md" workflow_dispatch: jobs: diff --git a/.github/workflows/tpch.yml b/.github/workflows/tpch.yml index ee819a1088..0c03869040 100644 --- a/.github/workflows/tpch.yml +++ b/.github/workflows/tpch.yml @@ -35,6 +35,8 @@ on: - "rust-toolchain.toml" - ".github/workflows/tpch.yml" - ".github/actions/setup-builder/**" + # docs-only changes cannot affect this job; exclusions are applied last + - "!**/*.md" pull_request: paths: - "ballista/**" @@ -44,6 +46,8 @@ on: - "rust-toolchain.toml" - ".github/workflows/tpch.yml" - ".github/actions/setup-builder/**" + # docs-only changes cannot affect this job; exclusions are applied last + - "!**/*.md" workflow_dispatch: jobs: diff --git a/.github/workflows/web-tui.yml b/.github/workflows/web-tui.yml index 00da126c79..a3d6113cc7 100644 --- a/.github/workflows/web-tui.yml +++ b/.github/workflows/web-tui.yml @@ -35,6 +35,8 @@ on: - "rust-toolchain.toml" - ".github/workflows/web-tui.yml" - ".github/actions/setup-builder/**" + # docs-only changes cannot affect this job; exclusions are applied last + - "!**/*.md" pull_request: paths: - "ballista/**" @@ -44,6 +46,8 @@ on: - "rust-toolchain.toml" - ".github/workflows/web-tui.yml" - ".github/actions/setup-builder/**" + # docs-only changes cannot affect this job; exclusions are applied last + - "!**/*.md" workflow_dispatch: jobs: