From f1a3e49f85c6c43bb374bc2783a5809960c4118e Mon Sep 17 00:00:00 2001 From: Keval Morabia <28916987+kevalmorabia97@users.noreply.github.com> Date: Fri, 7 Aug 2026 00:35:57 -0700 Subject: [PATCH] Make the docs-only ignore actually exclude The ignore never took effect. Two separate causes, both found by a probe PR against merged main whose only change was a README: - files_ignore does not apply to files_yaml groups, so the example lanes filtered nothing. Exclude per group instead. - As an inline negation, `**.md` does not exclude, while `**/*.md` does (micromatch treats the two forms differently, though isMatch accepts both). This also made _pr_gate's ignore inert for its callers, where it only looked correct because docs paths usually fall outside the watch lists. Verified against micromatch 4.0.5, the version the action depends on: README.md, examples/diffusers/README.md and a nested .png now match no lane, while config.py -> onnx, examples/dataset -> torch+trtllm and tests/examples/conftest.py -> common are unchanged. Co-Authored-By: Claude Opus 5 Signed-off-by: Keval Morabia <28916987+kevalmorabia97@users.noreply.github.com> --- .github/workflows/_pr_gate.yml | 8 ++++---- .github/workflows/example_tests.yml | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/_pr_gate.yml b/.github/workflows/_pr_gate.yml index 15c7a47a520..b77fc14a874 100644 --- a/.github/workflows/_pr_gate.yml +++ b/.github/workflows/_pr_gate.yml @@ -12,10 +12,10 @@ on: required: false type: string default: | - **.ipynb - **.md - **.png - **.rst + **/*.ipynb + **/*.md + **/*.png + **/*.rst outputs: any_changed: description: "Whether any relevant files changed" diff --git a/.github/workflows/example_tests.yml b/.github/workflows/example_tests.yml index 843e54f48dc..6bbc935a2ce 100644 --- a/.github/workflows/example_tests.yml +++ b/.github/workflows/example_tests.yml @@ -45,11 +45,6 @@ jobs: base_sha: ${{ steps.base.outputs.merge_base }} sha: ${{ steps.base.outputs.head_sha }} fail_on_initial_diff_error: true - files_ignore: | - **.ipynb - **.md - **.png - **.rst # `common` runs every lane. Each lane lists the example directories it covers, plus any # extra directory those tests reach into (e.g. hf_ptq's script runs lm_eval from # ../llm_eval, and the speculative_decoding test drives hf_ptq). @@ -64,18 +59,23 @@ jobs: - tests/_test_utils/** - tests/conftest.py - tests/examples/conftest.py + - "!**/*.{md,rst,png,ipynb}" torch: - "{examples,tests/examples}/{llm_distill,llm_qat,llm_sparsity,specdec_bench,speculative_decoding}/**" - examples/dataset/** # data prep for llm_qat and speculative_decoding - examples/hf_ptq/** # the speculative_decoding test drives hf_ptq + - "!**/*.{md,rst,png,ipynb}" trtllm: - "{examples,tests/examples}/{gpt-oss,hf_ptq,llm_eval}/**" - examples/dataset/** # data prep for gpt-oss + - "!**/*.{md,rst,png,ipynb}" megatron: - "{examples,tests/examples}/megatron_bridge/**" + - "!**/*.{md,rst,png,ipynb}" onnx: - "{examples,tests/examples}/{diffusers,torch_onnx,torch_trt}/**" - examples/onnx_ptq/** # torch_trt reuses onnx_ptq + - "!**/*.{md,rst,png,ipynb}" - id: lanes env: # Nightly and on-demand runs have no diff to inspect, so they run everything.