@@ -225,7 +225,7 @@ jobs:
225225 if : matrix.os == 'macos'
226226 run : |
227227 brew update
228- brew upgrade
228+ brew upgrade || true
229229 brew install coreutils python fftw hdf5 gcc@15 boost open-mpi lapack
230230 echo "FC=gfortran-15" >> $GITHUB_ENV
231231 echo "BOOST_INCLUDE=/opt/homebrew/include/" >> $GITHUB_ENV
@@ -400,11 +400,14 @@ jobs:
400400 echo "Coverage cache: none available — full test suite will run"
401401 fi
402402
403- - name : Build (login node)
403+ - name : Fetch Dependencies
404404 if : matrix.cluster != 'phoenix'
405405 timeout-minutes : 60
406406 run : bash .github/workflows/${{ matrix.cluster }}/build.sh ${{ matrix.device }} ${{ matrix.interface }}
407407
408+ - name : Build
409+ run : bash .github/scripts/submit-slurm-job.sh .github/workflows/common/build.sh ${{ matrix.device }} ${{ matrix.interface }} ${{ matrix.cluster }} ${{ matrix.shard }}
410+
408411 - name : Test
409412 run : bash .github/scripts/submit-slurm-job.sh .github/workflows/common/test.sh ${{ matrix.device }} ${{ matrix.interface }} ${{ matrix.cluster }} ${{ matrix.shard }}
410413
@@ -421,23 +424,29 @@ jobs:
421424 if : always()
422425 id : log
423426 run : |
424- SLUG="test-${{ matrix.device }}-${{ matrix.interface }} "
427+ SHARD_SUFFIX=" "
425428 SHARD="${{ matrix.shard }}"
426429 if [ -n "$SHARD" ]; then
427- SLUG="${SLUG} -$(echo "$SHARD" | sed 's|/|-of-|')"
430+ SHARD_SUFFIX=" -$(echo "$SHARD" | sed 's|/|-of-|')"
428431 fi
429- echo "slug=${SLUG}" >> "$GITHUB_OUTPUT"
432+ echo "build_slug=build-${{ matrix.device }}-${{ matrix.interface }}${SHARD_SUFFIX}" >> "$GITHUB_OUTPUT"
433+ echo "test_slug=test-${{ matrix.device }}-${{ matrix.interface }}${SHARD_SUFFIX}" >> "$GITHUB_OUTPUT"
430434
431435 - name : Print Logs
432436 if : always()
433- run : cat ${{ steps.log.outputs.slug }}.out
437+ run : |
438+ for f in ${{ steps.log.outputs.build_slug }}.out ${{ steps.log.outputs.test_slug }}.out; do
439+ [ -f "$f" ] && echo "=== $f ===" && cat "$f"
440+ done
434441
435442 - name : Archive Logs
436443 uses : actions/upload-artifact@v4
437444 if : matrix.cluster != 'phoenix'
438445 with :
439- name : logs-${{ strategy.job-index }}-${{ steps.log.outputs.slug }}
440- path : ${{ steps.log.outputs.slug }}.out
446+ name : logs-${{ strategy.job-index }}-${{ steps.log.outputs.test_slug }}
447+ path : |
448+ ${{ steps.log.outputs.build_slug }}.out
449+ ${{ steps.log.outputs.test_slug }}.out
441450
442451 case-optimization :
443452 name : " Case Opt | ${{ matrix.cluster_name }} (${{ matrix.device }}-${{ matrix.interface }})"
@@ -486,15 +495,20 @@ jobs:
486495 - name : Clean stale output files
487496 run : rm -f *.out
488497
498+ - name : Fetch Dependencies
499+ if : matrix.cluster != 'phoenix'
500+ run : bash .github/workflows/${{ matrix.cluster }}/build.sh ${{ matrix.device }} ${{ matrix.interface }}
501+
489502 - name : Pre-Build (SLURM)
490503 if : matrix.cluster == 'phoenix'
491504 run : bash .github/scripts/submit-slurm-job.sh .github/scripts/prebuild-case-optimization.sh cpu ${{ matrix.interface }} ${{ matrix.cluster }}
492505
493- - name : Pre- Build (login node)
506+ - name : Build & Run Case-Optimization Tests
494507 if : matrix.cluster != 'phoenix'
495- run : bash .github/scripts/prebuild-case-optimization .sh ${{ matrix.cluster }} ${{ matrix.device }} ${{ matrix.interface }}
508+ run : bash .github/scripts/submit-slurm-job .sh .github/scripts/run_case_optimization.sh ${{ matrix.device }} ${{ matrix.interface }} ${{ matrix.cluster }}
496509
497510 - name : Run Case-Optimization Tests
511+ if : matrix.cluster == 'phoenix'
498512 run : bash .github/scripts/submit-slurm-job.sh .github/scripts/run_case_optimization.sh ${{ matrix.device }} ${{ matrix.interface }} ${{ matrix.cluster }}
499513
500514 - name : Cancel SLURM Jobs
0 commit comments