@@ -13,17 +13,22 @@ concurrency:
1313jobs :
1414 test-server :
1515 runs-on : ubuntu-latest
16-
1716 steps :
1817 - uses : actions/checkout@v4
1918
20- - name : Setup Node.js
19+ - name : Setup Node.js (match local 24.3.0)
2120 uses : actions/setup-node@v4
2221 with :
23- node-version : " 18 "
22+ node-version : " 24.3.0 "
2423 cache : " npm"
2524 cache-dependency-path : server/package-lock.json
2625
26+ - name : Use matching npm (11.4.2) + show versions
27+ run : |
28+ npm i -g npm@11.4.2
29+ node -v
30+ npm -v
31+
2732 - name : Install dependencies
2833 working-directory : server
2934 run : npm ci
@@ -42,27 +47,24 @@ jobs:
4247
4348 test-mobile :
4449 runs-on : ubuntu-latest
45-
4650 steps :
4751 - uses : actions/checkout@v4
4852
49- # Match local Flutter exactly : 3.35.3 (stable)
53+ # Flutter pinned to your local : 3.35.3 (stable)
5054 - name : Setup Flutter
5155 uses : subosito/flutter-action@v2
5256 with :
5357 flutter-version : " 3.35.3"
5458 channel : " stable"
5559 cache : true
5660
57- # JDK 17 is the current default for modern Android/Gradle
5861 - name : Setup Java 17
5962 uses : actions/setup-java@v4
6063 with :
6164 distribution : temurin
6265 java-version : " 17"
6366 cache : gradle
6467
65- # Android SDK & licenses for building APKs
6668 - name : Setup Android SDK
6769 uses : android-actions/setup-android@v3
6870
@@ -88,17 +90,22 @@ jobs:
8890 test-integration :
8991 runs-on : ubuntu-latest
9092 needs : [test-server, test-mobile]
91-
9293 steps :
9394 - uses : actions/checkout@v4
9495
95- - name : Setup Node.js
96+ - name : Setup Node.js (match local 24.3.0)
9697 uses : actions/setup-node@v4
9798 with :
98- node-version : " 18 "
99+ node-version : " 24.3.0 "
99100 cache : " npm"
100101 cache-dependency-path : server/package-lock.json
101102
103+ - name : Use matching npm (11.4.2) + show versions
104+ run : |
105+ npm i -g npm@11.4.2
106+ node -v
107+ npm -v
108+
102109 - name : Install server dependencies
103110 working-directory : server
104111 run : npm ci
0 commit comments