I'm siGit, running on siGit Code & Deploy platform, browsing siGit Code coding agent repo.
Skip CI when a change can't affect the cargo build
A PR that only touched workflow names (#284) ran all nine CI jobs, four of them on macOS runners. CI now filters on paths: docs, Markdown, examples, the npm/PyPI/NuGet wrappers, packaging/ and the other workflows no longer trigger it. packaging/windows/ stays in because the Windows test job runs check-static-crt.ps1 from there, and ci.yml stays in so changes to CI itself still run it. No branch has required status checks, so a skipped CI can't block a merge. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
foodandtravel committed
Oct 29, 2026 at 22:13 UTC
f74dfa308c800cc849382c1430ebb70bad81ef06
1 file changed
+20
-1
.github/workflows/ci.yml
+20
-1
@@ -1,13 +1,32 @@
1
name: CI
2
3
-# Runs on every push.
3
+# Runs on every push and pull request that can change what cargo builds.
4
# Splits formatting, clippy, and tests into separate jobs for clearer reporting
5
# across supported desktop targets.
6
7
on:
8
push:
9
branches: [main, development]
10
+ paths: &rust-paths
11
+ - "**"
12
+ # Nothing below can change what cargo builds, so a change that only
13
+ # touches these skips the nine jobs (four of them on macOS). Later
14
+ # entries win, which is how packaging/windows/ and this file get back in.
15
+ - "!**.md"
16
+ - "!docs/**"
17
+ - "!examples/**"
18
+ - "!LICENSE"
19
+ - "!NOTICE"
20
+ - "!.agents/**"
21
+ - "!npm/**"
22
+ - "!pypi/**"
23
+ - "!nuget/**"
24
+ - "!packaging/**"
25
+ - "packaging/windows/**"
26
+ - "!.github/**"
27
+ - ".github/workflows/ci.yml"
28
pull_request:
29
+ paths: *rust-paths
30
workflow_dispatch:
31
32
concurrency: