@@ -17,69 +17,21 @@ concurrency:
1717
1818jobs :
1919  build_gcm :
20-     name : Build GEOSgcm 
21-     if : " !contains(github.event.pull_request.labels.*.name, '0 diff trivial')" 
22-     runs-on : ubuntu-24.04 
23-     container :
24-       image : gmao/ubuntu24-geos-env:v7.33.0-intelmpi_2021.13-ifort_2021.13 
25-       #  Per https://github.com/actions/virtual-environments/issues/1445#issuecomment-713861495
26-       #  It seems like we might not need secrets on GitHub Actions which is good for forked
27-       #  pull requests
28-       # credentials:
29-         # username: ${{ secrets.DOCKERHUB_USERNAME }}
30-         # password: ${{ secrets.DOCKERHUB_TOKEN }}
20+     strategy :
21+       matrix :
22+         compiler : [ifort, gfortran-14, gfortran-15] 
23+         build-type : [Debug] 
24+     uses : GEOS-ESM/CI-workflows/.github/workflows/geosgcm_build_tests.yml@project/geosgcm 
25+     with :
26+       compiler : ${{ matrix.compiler }} 
27+       cmake-build-type : ${{ matrix.build-type }} 
28+       fixture-repo : GEOS-ESM/GEOSgcm 
29+ 
30+   spack_build :
31+     uses : GEOS-ESM/CI-workflows/.github/workflows/spack_gcc_build.yml@project/geosgcm 
32+     secrets :
33+       BUILDCACHE_USERNAME : ${{ secrets.BUILDCACHE_USERNAME }} 
34+       BUILDCACHE_TOKEN : ${{ secrets.BUILDCACHE_TOKEN }} 
35+     with :
36+       fixture-repo : GEOS-ESM/GEOSgcm 
3137
32-     env :
33-       OMPI_ALLOW_RUN_AS_ROOT : 1 
34-       OMPI_ALLOW_RUN_AS_ROOT_CONFIRM : 1 
35-       OMPI_MCA_btl_vader_single_copy_mechanism : none 
36- 
37-     steps :
38-       #  https://github.com/orgs/community/discussions/25678#discussioncomment-5242449
39-       - name : Delete huge unnecessary tools folder 
40-         run : rm -rf /opt/hostedtoolcache 
41- 
42-       - name : Checkout GCM 
43-         uses : actions/checkout@v4 
44-         with :
45-           fetch-depth : 1 
46-           filter : blob:none 
47-           repository : GEOS-ESM/GEOSgcm 
48- 
49-       - name : Set all directories as git safe 
50-         run : | 
51-           git config --global --add safe.directory '*' 
52- 
53- name : Versions etc. 
54-         run : | 
55-           ifort --version 
56-           mpirun --version 
57-           echo $BASEDIR 
58- 
59- name : Mepo clone external repos 
60-         run : | 
61-           mepo clone --partial blobless 
62-           mepo status 
63- 
64- name : Mepo develop usual suspects 
65-         run : | 
66-           mepo develop GEOSgcm_GridComp GEOSgcm_App GMAO_Shared GEOS_Util 
67-           mepo status 
68- 
69- name : Debug PR branch 
70-         run : echo "PR is coming from ${{ github.event.pull_request.head.ref }}" 
71- 
72-       - name : Update other branches 
73-         if : ${{ github.event.pull_request.head.ref != 'main' && github.event.pull_request.head.ref != 'develop' }} 
74-         run : | 
75-           mepo checkout-if-exists ${GITHUB_HEAD_REF} 
76-           mepo status 
77- 
78- name : CMake 
79-         run : | 
80-           cmake -B build -S . --install-prefix=${pwd}/install -DCMAKE_Fortran_COMPILER=ifort -DCMAKE_BUILD_TYPE=Debug -DMPIEXEC_PREFLAGS='--oversubscribe' -DUSE_F2PY=OFF 
81- 
82- name : Build 
83-         run : | 
84-           cmake --build build -j 4 
85-           cmake --install build 
0 commit comments