@@ -17,70 +17,23 @@ 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:v8.14.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+ fixture-ref : feature/sdrabenh/gcm_v12
30+
31+ spack_build :
32+ uses : GEOS-ESM/CI-workflows/.github/workflows/spack_gcc_build.yml@project/geosgcm
33+ secrets :
34+ BUILDCACHE_USERNAME : ${{ secrets.BUILDCACHE_USERNAME }}
35+ BUILDCACHE_TOKEN : ${{ secrets.BUILDCACHE_TOKEN }}
36+ with :
37+ fixture-repo : GEOS-ESM/GEOSgcm
38+ fixture-ref : feature/sdrabenh/gcm_v12
3139
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- ref : feature/sdrabenh/gcm_v12
49-
50- - name : Set all directories as git safe
51- run : |
52- git config --global --add safe.directory '*'
53-
54- - name : Versions etc.
55- run : |
56- ifort --version
57- mpirun --version
58- echo $BASEDIR
59-
60- - name : Mepo clone external repos
61- run : |
62- mepo clone --partial blobless
63- mepo status
64-
65- - name : Mepo develop usual suspects
66- run : |
67- mepo develop GEOSgcm_GridComp GEOSgcm_App GMAO_Shared GEOS_Util
68- mepo status
69-
70- - name : Debug PR branch
71- run : echo "PR is coming from ${{ github.event.pull_request.head.ref }}"
72-
73- - name : Update other branches
74- if : ${{ github.event.pull_request.head.ref != 'main' && github.event.pull_request.head.ref != 'develop' }}
75- run : |
76- mepo checkout-if-exists ${GITHUB_HEAD_REF}
77- mepo status
78-
79- - name : CMake
80- run : |
81- cmake -B build -S . --install-prefix=${pwd}/install -DCMAKE_Fortran_COMPILER=ifort -DCMAKE_BUILD_TYPE=Debug -DMPIEXEC_PREFLAGS='--oversubscribe' -DUSE_F2PY=OFF
82-
83- - name : Build
84- run : |
85- cmake --build build -j 4
86- cmake --install build
0 commit comments