|
21 | 21 |
|
22 | 22 | jobs: |
23 | 23 | # Check if we should skip CI |
24 | | -# changes: |
25 | | -# name: Detect Changes |
26 | | -# runs-on: ubuntu-latest |
27 | | -# outputs: |
28 | | -# backend: ${{ steps.changes.outputs.backend }} |
29 | | -# frontend: ${{ steps.changes.outputs.frontend }} |
30 | | -# tauri: ${{ steps.changes.outputs.tauri }} |
31 | | -# skip_ci: ${{ steps.changes.outputs.skip_ci }} |
32 | | -# steps: |
33 | | -# - name: Checkout Repository |
34 | | -# uses: actions/checkout@v4 |
35 | | -# |
36 | | -# - name: Check for changes |
37 | | -# uses: dorny/paths-filter@v3 |
38 | | -# id: changes |
39 | | -# with: |
40 | | -# filters: | |
41 | | -# backend: |
42 | | -# - 'src-tauri/**' |
43 | | -# - 'Cargo.toml' |
44 | | -# - 'Cargo.lock' |
45 | | -# frontend: |
46 | | -# - 'src/**' |
47 | | -# - 'public/**' |
48 | | -# - 'package.json' |
49 | | -# - 'pnpm-lock.yaml' |
50 | | -# - 'vite.config.*' |
51 | | -# - 'tsconfig.json' |
52 | | -# - 'tailwind.config.*' |
53 | | -# tauri: |
54 | | -# - 'src-tauri/tauri.conf.json' |
55 | | -# - 'src-tauri/capabilities/**' |
56 | | -# - 'src-tauri/icons/**' |
57 | | -# skip_ci: |
58 | | -# - '**.md' |
59 | | -# - '.gitignore' |
60 | | -# - 'LICENSE' |
61 | | -# - 'docs/**' |
| 24 | + changes: |
| 25 | + name: Detect Changes |
| 26 | + runs-on: ubuntu-latest |
| 27 | + outputs: |
| 28 | + backend: ${{ steps.changes.outputs.backend }} |
| 29 | + frontend: ${{ steps.changes.outputs.frontend }} |
| 30 | + tauri: ${{ steps.changes.outputs.tauri }} |
| 31 | + skip_ci: ${{ steps.changes.outputs.skip_ci }} |
| 32 | + steps: |
| 33 | + - name: Checkout Repository |
| 34 | + uses: actions/checkout@v4 |
| 35 | + |
| 36 | + - name: Check for changes |
| 37 | + uses: dorny/paths-filter@v3 |
| 38 | + id: changes |
| 39 | + with: |
| 40 | + # Define filters for different parts of the project to conditionally run jobs |
| 41 | + filters: | |
| 42 | + backend: |
| 43 | + - 'src-tauri/**' |
| 44 | + - 'Cargo.toml' |
| 45 | + - 'Cargo.lock' |
| 46 | + frontend: |
| 47 | + - 'src/**' |
| 48 | + - 'public/**' |
| 49 | + - 'package.json' |
| 50 | + - 'pnpm-lock.yaml' |
| 51 | + - 'vite.config.*' |
| 52 | + - 'tsconfig.json' |
| 53 | + - 'tailwind.config.*' |
| 54 | + tauri: |
| 55 | + - 'src-tauri/tauri.conf.json' |
| 56 | + - 'src-tauri/capabilities/**' |
| 57 | + - 'src-tauri/icons/**' |
| 58 | + skip_ci: |
| 59 | + - '**.md' |
| 60 | + - '.gitignore' |
| 61 | + - 'LICENSE' |
| 62 | + - 'docs/**' |
| 63 | + - '.github/**' |
62 | 64 |
|
63 | 65 | # Combined Full Stack Test and Build |
64 | 66 | full-stack-test-build: |
65 | 67 | name: Full Stack Test & Build |
66 | 68 | runs-on: ${{ matrix.os }} |
67 | | -# needs: changes |
| 69 | + needs: changes |
68 | 70 | if: needs.changes.outputs.skip_ci == 'false' && (needs.changes.outputs.backend == 'true' || needs.changes.outputs.frontend == 'true' || needs.changes.outputs.tauri == 'true') |
69 | 71 |
|
70 | 72 | strategy: |
@@ -227,7 +229,7 @@ jobs: |
227 | 229 | quick-validation: |
228 | 230 | name: Quick Validation |
229 | 231 | runs-on: ubuntu-latest |
230 | | -# needs: changes |
| 232 | + needs: changes |
231 | 233 | if: github.event_name == 'pull_request' && needs.changes.outputs.skip_ci == 'false' |
232 | 234 |
|
233 | 235 | steps: |
|
0 commit comments