Skip to content

Commit a93232d

Browse files
committed
chore: parallelize some CI jobs
1 parent c3e13b6 commit a93232d

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

.github/workflows/ci.yml

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)