@@ -40,18 +40,16 @@ jobs:
4040 with :
4141 os : ' ubuntu-latest'
4242
43- # Run linting after build to use the build artifacts
43+ # Run linting after change detection
4444 lint :
4545 name : Lint [Linux]
46- needs : [detect-changes, build ]
46+ needs : [detect-changes]
4747 uses : ./.github/workflows/_ci-lint.reusable.yml
48- with :
49- cache_key : ${{ needs.build.outputs.cache_key }}
5048
51- # Run unit tests after linting to ensure code quality first
49+ # Run unit tests in parallel with linting (lint runs independently)
5250 unit-matrix :
5351 name : Unit
54- needs : [build, lint ]
52+ needs : [detect-changes, build ]
5553 strategy :
5654 fail-fast : false
5755 matrix :
@@ -120,14 +118,10 @@ jobs:
120118 with :
121119 os : ' ubuntu-24.04-arm'
122120
123- # Run package tests after unit tests to ensure the package is built correctly
124- # Split Electron and Tauri tests across separate jobs for better parallelization and clarity
125- # Electron apps are built inline on the test runner (faster builds, Turbo caching handles it)
126- # Tauri apps are built separately due to longer build times and system dependencies
127- # Electron package tests are split by module type (CJS/ESM) for better error isolation
121+ # Electron package tests run in parallel with linting
128122 package-electron-matrix :
129123 name : Package - Electron
130- needs : [detect-changes, build, lint ]
124+ needs : [detect-changes, build]
131125 if : needs.detect-changes.outputs.run_electron == 'true'
132126 strategy :
133127 fail-fast : false
@@ -220,7 +214,7 @@ jobs:
220214 # - CentOS Stream 10: WebKitGTK removed by Red Hat due to 200+ CVEs and unsustainable maintenance
221215 package-tauri-distros :
222216 name : Package - Tauri (Docker)
223- needs : [detect-changes, build, lint ]
217+ needs : [detect-changes, build]
224218 if : needs.detect-changes.outputs.run_tauri == 'true'
225219 strategy :
226220 fail-fast : false
@@ -240,10 +234,10 @@ jobs:
240234 with :
241235 distro : ${{ matrix.distro }}
242236
243- # Run build tests outside of the main Linux build job
237+ # Run build tests in parallel with linting
244238 build-matrix :
245239 name : Build
246- needs : [detect-changes, build, lint ]
240+ needs : [detect-changes, build]
247241 if : needs.detect-changes.outputs.run_electron == 'true'
248242 strategy :
249243 fail-fast : false
@@ -431,10 +425,10 @@ jobs:
431425 cache_key : ${{ needs.build.outputs.cache_key }}
432426 tauri_cache_key : ' '
433427
434- # Universal binary verification - Electron only
428+ # Universal binary verification - Electron only (runs in parallel with linting)
435429 package-electron-mac-universal :
436430 name : Package - Electron [macOS-Universal-Verify]
437- needs : [detect-changes, build, lint ]
431+ needs : [detect-changes, build]
438432 if : needs.detect-changes.outputs.run_electron == 'true'
439433 runs-on : macos-latest
440434 steps :
0 commit comments