Skip to content

Commit ad8578a

Browse files
perf(ci): add path filters to skip CI for non-business logic changes
Add comprehensive path filters to only trigger CI when files that affect functionality change: Included paths: - Rust source (*.rs) and config (Cargo.toml/lock, build.rs) - JavaScript/TypeScript (*.js, *.ts, *.jsx, *.tsx, *.mjs) - Frontend assets (*.html, *.css) - Node.js config (package.json/lock, tsconfig, vite/vitest/playwright) - Tauri config (tauri.conf.json) - Task runner (taskfile.yml, taskfiles/**/*.yml) - Test files (tests/**/* and **/tests/**/*) - CI workflow itself (.github/workflows/test.yml) Excluded (won't trigger CI): - Documentation files (*.md, AGENTS.md, CLAUDE.md) - Backlog tasks (backlog/**/*.md) - Dependency audit reports - Other non-functional changes This saves CI compute resources by skipping test runs when only documentation or project management files change. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 41a151f commit ad8578a

1 file changed

Lines changed: 62 additions & 0 deletions

File tree

.github/workflows/test.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,70 @@ name: Test Suite
33
on:
44
push:
55
branches: [main, tauri-migration]
6+
paths:
7+
# Rust source and config
8+
- '**/*.rs'
9+
- '**/Cargo.toml'
10+
- '**/Cargo.lock'
11+
- '**/build.rs'
12+
# JavaScript/TypeScript source
13+
- '**/*.js'
14+
- '**/*.ts'
15+
- '**/*.jsx'
16+
- '**/*.tsx'
17+
- '**/*.mjs'
18+
# Frontend assets and templates
19+
- '**/*.html'
20+
- '**/*.css'
21+
# Node.js config
22+
- '**/package.json'
23+
- '**/package-lock.json'
24+
- '**/tsconfig.json'
25+
- '**/vite.config.js'
26+
- '**/vitest.config.js'
27+
- '**/playwright.config.js'
28+
# Tauri config
29+
- '**/tauri.conf.json'
30+
# Task runner config
31+
- 'taskfile.yml'
32+
# Test files
33+
- 'tests/**/*'
34+
- '**/tests/**/*'
35+
# CI workflow itself
36+
- '.github/workflows/test.yml'
637
pull_request:
738
branches: [main, tauri-migration]
39+
paths:
40+
# Rust source and config
41+
- '**/*.rs'
42+
- '**/Cargo.toml'
43+
- '**/Cargo.lock'
44+
- '**/build.rs'
45+
# JavaScript/TypeScript source
46+
- '**/*.js'
47+
- '**/*.ts'
48+
- '**/*.jsx'
49+
- '**/*.tsx'
50+
- '**/*.mjs'
51+
# Frontend assets and templates
52+
- '**/*.html'
53+
- '**/*.css'
54+
# Node.js config
55+
- '**/package.json'
56+
- '**/package-lock.json'
57+
- '**/tsconfig.json'
58+
- '**/vite.config.js'
59+
- '**/vitest.config.js'
60+
- '**/playwright.config.js'
61+
# Tauri config
62+
- '**/tauri.conf.json'
63+
# Task runner config
64+
- 'taskfile.yml'
65+
# Test files
66+
- 'tests/**/*'
67+
- '**/tests/**/*'
68+
# CI workflow itself
69+
- '.github/workflows/test.yml'
870

971
# Cancel in-progress runs when a new push supersedes them
1072
concurrency:

0 commit comments

Comments
 (0)