@@ -174,6 +174,117 @@ jobs:
174174      - name : Test p2p crate 
175175        run : make test-p2p 
176176
177+   #  Fast builds specifically for test artifacts - no cross-platform matrix
178+   build-for-tests :
179+     timeout-minutes : 60 
180+     runs-on : ubuntu-22.04 
181+     steps :
182+       - name : Git checkout 
183+         uses : actions/checkout@v5 
184+ 
185+       - name : Setup build dependencies 
186+         uses : ./.github/actions/setup-build-deps 
187+ 
188+       - name : Use shared OCaml setting up steps 
189+         uses : ./.github/actions/setup-ocaml 
190+         with :
191+           ocaml_version : 4.14.2 
192+ 
193+       - name : Setup Rust 
194+         uses : ./.github/actions/setup-rust 
195+         with :
196+           toolchain : 1.84 
197+           cache-prefix : build-for-tests-v0 
198+ 
199+       - name : Release build 
200+         run : make build-release 
201+ 
202+       - name : Verify build-info command 
203+         run : | 
204+           echo "Testing build-info command..." 
205+           ./target/release/mina build-info 
206+ 
207+           # Verify required fields are present 
208+           ./target/release/mina build-info | grep -E "Version:|Build time:|Commit SHA:|Commit branch:|Rustc version:" 
209+ 
210+           # Verify version format (should be a short commit hash) 
211+           VERSION=$(./target/release/mina build-info | grep "Version:" | awk '{print $2}') 
212+           if [[ ! "$VERSION" =~ ^[0-9a-f]{7}$ ]]; then 
213+             echo "Error: Version should be a 7-character commit hash, got: $VERSION" 
214+             exit 1 
215+           fi 
216+ 
217+           echo "Build info verification passed!" 
218+ 
219+        - name : Upload binaries 
220+         uses : actions/upload-artifact@v4 
221+         with :
222+           name : bin-${{ github.sha }} 
223+           path : target/release/mina 
224+           retention-days : 7 
225+ 
226+   build-tests-for-tests :
227+     timeout-minutes : 60 
228+     runs-on : ubuntu-22.04 
229+     steps :
230+       - name : Git checkout 
231+         uses : actions/checkout@v5 
232+ 
233+       - name : Setup build dependencies 
234+         uses : ./.github/actions/setup-build-deps 
235+ 
236+       - name : Use shared OCaml setting up steps 
237+         uses : ./.github/actions/setup-ocaml 
238+         with :
239+           ocaml_version : 4.14.2 
240+ 
241+       - name : Setup Rust 
242+         uses : ./.github/actions/setup-rust 
243+         with :
244+           toolchain : 1.84 
245+           cache-prefix : build-tests-for-tests-v0 
246+ 
247+       - name : Build tests 
248+         run : make build-tests 
249+ 
250+       - name : Upload tests 
251+         uses : actions/upload-artifact@v4 
252+         with :
253+           name : tests-${{ github.sha }} 
254+           path : target/release/tests 
255+           retention-days : 7 
256+ 
257+   build-tests-webrtc-for-tests :
258+     timeout-minutes : 60 
259+     runs-on : ubuntu-22.04 
260+     steps :
261+       - name : Git checkout 
262+         uses : actions/checkout@v5 
263+ 
264+       - name : Setup build dependencies 
265+         uses : ./.github/actions/setup-build-deps 
266+ 
267+       - name : Use shared OCaml setting up steps 
268+         uses : ./.github/actions/setup-ocaml 
269+         with :
270+           ocaml_version : 4.14.2 
271+ 
272+       - name : Setup Rust 
273+         uses : ./.github/actions/setup-rust 
274+         with :
275+           toolchain : 1.84 
276+           cache-prefix : build-tests-webrtc-for-tests-v0 
277+ 
278+       - name : Build tests 
279+         run : make build-tests-webrtc 
280+ 
281+       - name : Upload tests 
282+         uses : actions/upload-artifact@v4 
283+         with :
284+           name : tests-webrtc-${{ github.sha }} 
285+           path : target/release/tests 
286+           retention-days : 7 
287+ 
177288  build :
178289    timeout-minutes : 60 
179290    #  NOTE: If you add or remove platforms from this matrix, make sure to update
@@ -222,14 +333,6 @@ jobs:
222333
223334          echo "Build info verification passed!" 
224335
225-        - name : Upload binaries 
226-         if : matrix.os == 'ubuntu-22.04' 
227-         uses : actions/upload-artifact@v4 
228-         with :
229-           name : bin-${{ github.sha }} 
230-           path : target/release/mina 
231-           retention-days : 7 
232- 
233336   build-wasm :
234337    timeout-minutes : 60 
235338    #  NOTE: If you add or remove platforms from this matrix, make sure to update
@@ -293,14 +396,6 @@ jobs:
293396      - name : Build tests 
294397        run : make build-tests 
295398
296-       - name : Upload tests 
297-         if : matrix.os == 'ubuntu-22.04' 
298-         uses : actions/upload-artifact@v4 
299-         with :
300-           name : tests-${{ github.sha }} 
301-           path : target/release/tests 
302-           retention-days : 7 
303- 
304399  build-tests-webrtc :
305400    timeout-minutes : 60 
306401    #  NOTE: If you add or remove platforms from this matrix, make sure to update
@@ -332,16 +427,8 @@ jobs:
332427      - name : Build tests 
333428        run : make build-tests-webrtc 
334429
335-       - name : Upload tests 
336-         if : matrix.os == 'ubuntu-22.04' 
337-         uses : actions/upload-artifact@v4 
338-         with :
339-           name : tests-webrtc-${{ github.sha }} 
340-           path : target/release/tests 
341-           retention-days : 7 
342- 
343430  p2p-scenario-tests :
344-     needs : [build-tests, build-tests-webrtc] 
431+     needs : [build-tests-for-tests , build-tests-webrtc-for-tests ] 
345432    runs-on : ubuntu-24.04 
346433    timeout-minutes : 20 
347434    container :
@@ -412,8 +499,8 @@ jobs:
412499  scenario-tests :
413500    timeout-minutes : 60 
414501    needs :
415-       - build-tests 
416-       - build-tests-webrtc 
502+       - build-tests-for-tests  
503+       - build-tests-webrtc-for-tests  
417504    runs-on : ubuntu-24.04 
418505    container :
419506      image : gcr.io/o1labs-192920/mina-daemon:3.2.0-beta2-939b08d-noble-devnet 
@@ -499,8 +586,8 @@ jobs:
499586  record-replay-tests :
500587    timeout-minutes : 30 
501588    needs :
502-       - build-tests 
503-       - build-tests-webrtc 
589+       - build-tests-for-tests  
590+       - build-tests-webrtc-for-tests  
504591    runs-on : ubuntu-24.04 
505592    container :
506593      image : gcr.io/o1labs-192920/mina-daemon:3.2.0-beta2-939b08d-noble-devnet 
@@ -536,7 +623,7 @@ jobs:
536623
537624   bootstrap-test :
538625    timeout-minutes : 10 
539-     needs : [build, build-tests] 
626+     needs : [build-for-tests , build-tests-for -tests] 
540627    runs-on : ubuntu-24.04 
541628    env :
542629      MINA_HOME : data 
0 commit comments