|
10 | 10 | - "**.sh" |
11 | 11 | - "**.perl" |
12 | 12 | - ".github/CODEOWNERS" |
13 | | - - ".github/PULL_REQUEST_TEMPLATE.md" |
14 | | - - ".editorconfig" |
15 | | - - ".codebuild/**" |
16 | | - - ".circleci/**" |
| 13 | + - ".circleci/config.yml" |
| 14 | + |
| 15 | +concurrency: |
| 16 | + group: ${{ github.workflow }}-${{ github.ref }} |
| 17 | + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} |
17 | 18 |
|
18 | 19 | jobs: |
19 | | - build_test_ldas_gnu: |
20 | | - name: gfortran / ${{ matrix.cmake-build-type }} / ${{ matrix.cmake-generator }} |
21 | | - runs-on: ubuntu-latest |
| 20 | + build_ldas_ifort: |
| 21 | + name: Build GEOSldas with ifort |
| 22 | + if: "!contains(github.event.pull_request.labels.*.name, '0 diff trivial')" |
| 23 | + runs-on: ubuntu-24.04 |
22 | 24 | container: |
23 | | - image: gmao/ubuntu24-geos-env-mkl:v7.32.0-openmpi_5.0.5-gcc_14.2.0 |
24 | | - strategy: |
25 | | - fail-fast: false |
26 | | - matrix: |
27 | | - cmake-build-type: [Debug, Release] |
28 | | - cmake-generator: [Unix Makefiles] |
| 25 | + image: gmao/ubuntu24-geos-env:v7.32.0-intelmpi_2021.13-ifort_2021.13 |
| 26 | + |
29 | 27 | env: |
30 | 28 | OMPI_ALLOW_RUN_AS_ROOT: 1 |
31 | 29 | OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1 |
32 | 30 | OMPI_MCA_btl_vader_single_copy_mechanism: none |
| 31 | + |
33 | 32 | steps: |
34 | | - - name: Checkout |
| 33 | + # https://github.com/orgs/community/discussions/25678#discussioncomment-5242449 |
| 34 | + - name: Delete huge unnecessary tools folder |
| 35 | + run: rm -rf /opt/hostedtoolcache |
| 36 | + |
| 37 | + - name: Checkout LDAS |
35 | 38 | uses: actions/checkout@v4 |
36 | 39 | with: |
37 | 40 | fetch-depth: 1 |
38 | 41 | filter: blob:none |
39 | 42 | repository: GEOS-ESM/GEOSldas |
40 | 43 |
|
41 | | - - name: Build and Test GEOSldas |
42 | | - uses: ./.github/actions/ci-build |
43 | | - with: |
44 | | - cmake-build-type: ${{ matrix.cmake-build-type }} |
45 | | - cmake-generator: ${{ matrix.cmake-generator }} |
46 | | - fortran-compiler: gfortran |
47 | | - extra-cmake-args: -DMPIEXEC_PREFLAGS='--oversubscribe' |
48 | | - |
49 | | - build_test_geosldas_ifort: |
50 | | - name: ifort / ${{ matrix.cmake-build-type }} / ${{ matrix.cmake-generator }} |
51 | | - runs-on: ubuntu-latest |
| 44 | + - name: Set all directories as git safe |
| 45 | + run: | |
| 46 | + git config --global --add safe.directory '*' |
| 47 | +
|
| 48 | + - name: Versions etc. |
| 49 | + run: | |
| 50 | + ifort --version |
| 51 | + mpirun --version |
| 52 | + echo $BASEDIR |
| 53 | +
|
| 54 | + - name: Mepo clone external repos |
| 55 | + run: | |
| 56 | + mepo clone --partial blobless |
| 57 | + mepo status |
| 58 | +
|
| 59 | + - name: Update other branches |
| 60 | + if: |
| 61 | + "!contains('refs/heads/main,refs/heads/develop', github.ref)" |
| 62 | + run: | |
| 63 | + mepo checkout-if-exists ${GITHUB_HEAD_REF} |
| 64 | + mepo status |
| 65 | +
|
| 66 | + - name: CMake |
| 67 | + run: | |
| 68 | + cmake -B build -S . --install-prefix=${pwd}/install -DCMAKE_Fortran_COMPILER=ifort -DCMAKE_BUILD_TYPE=Debug -DMPIEXEC_PREFLAGS='--oversubscribe' -DUSE_F2PY=OFF |
| 69 | +
|
| 70 | + - name: Build |
| 71 | + run: | |
| 72 | + cmake --build build -j 4 |
| 73 | + cmake --install build |
| 74 | +
|
| 75 | +
|
| 76 | + build_ldas_gfortran: |
| 77 | + name: Build GEOSldas with gfortran |
| 78 | + if: "!contains(github.event.pull_request.labels.*.name, '0 diff trivial')" |
| 79 | + runs-on: ubuntu-24.04 |
52 | 80 | container: |
53 | | - image: gmao/ubuntu24-geos-env:v7.32.0-intelmpi_2021.13-ifort_2021.13 |
54 | | - strategy: |
55 | | - fail-fast: false |
56 | | - matrix: |
57 | | - cmake-build-type: [Debug, Release] |
58 | | - cmake-generator: [Unix Makefiles] |
| 81 | + image: gmao/ubuntu24-geos-env:v7.32.0-openmpi_5.0.5-gcc_14.2.0 |
| 82 | + |
| 83 | + env: |
| 84 | + OMPI_ALLOW_RUN_AS_ROOT: 1 |
| 85 | + OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1 |
| 86 | + OMPI_MCA_btl_vader_single_copy_mechanism: none |
| 87 | + |
59 | 88 | steps: |
60 | | - - name: Checkout |
| 89 | + # https://github.com/orgs/community/discussions/25678#discussioncomment-5242449 |
| 90 | + - name: Delete huge unnecessary tools folder |
| 91 | + run: rm -rf /opt/hostedtoolcache |
| 92 | + |
| 93 | + - name: Checkout LDAS |
61 | 94 | uses: actions/checkout@v4 |
62 | 95 | with: |
63 | 96 | fetch-depth: 1 |
64 | 97 | filter: blob:none |
65 | 98 | repository: GEOS-ESM/GEOSldas |
66 | 99 |
|
67 | | - - name: Build and Test GEOSldas |
68 | | - uses: ./.github/actions/ci-build |
69 | | - with: |
70 | | - cmake-build-type: ${{ matrix.cmake-build-type }} |
71 | | - cmake-generator: ${{ matrix.cmake-generator }} |
72 | | - fortran-compiler: ifort |
73 | | - |
74 | | - # We cannot currently test with ifx because HDF4 Fortran interface |
75 | | - # cannot be compiled with ifx. The HDF4 Fortran interface is required |
76 | | - # for the GEOSldas |
77 | | - ################################################################################ |
78 | | - # build_test_geosldas_ifx: # |
79 | | - # name: ifx / ${{ matrix.cmake-build-type }} / ${{ matrix.cmake-generator }} # |
80 | | - # runs-on: ubuntu-latest # |
81 | | - # container: # |
82 | | - # image: gmao/ubuntu24-geos-env:v7.32.0-intelmpi_2021.14-ifx_2025.0 # |
83 | | - # strategy: # |
84 | | - # fail-fast: false # |
85 | | - # matrix: # |
86 | | - # cmake-build-type: [Debug, Release] # |
87 | | - # cmake-generator: [Unix Makefiles] # |
88 | | - # steps: # |
89 | | - # - name: Checkout # |
90 | | - # uses: actions/checkout@v4 # |
91 | | - # with: # |
92 | | - # fetch-depth: 1 # |
93 | | - # filter: blob:none # |
94 | | - # repository: GEOS-ESM/GEOSldas # |
95 | | - # # |
96 | | - # - name: Build and Test GEOSldas # |
97 | | - # uses: ./.github/actions/ci-build # |
98 | | - # with: # |
99 | | - # cmake-build-type: ${{ matrix.cmake-build-type }} # |
100 | | - # cmake-generator: ${{ matrix.cmake-generator }} # |
101 | | - # fortran-compiler: ifx # |
102 | | - ################################################################################ |
| 100 | + - name: Set all directories as git safe |
| 101 | + run: | |
| 102 | + git config --global --add safe.directory '*' |
| 103 | +
|
| 104 | + - name: Versions etc. |
| 105 | + run: | |
| 106 | + gfortran --version |
| 107 | + mpirun --version |
| 108 | + echo $BASEDIR |
| 109 | +
|
| 110 | + - name: Mepo clone external repos |
| 111 | + run: | |
| 112 | + mepo clone --partial blobless |
| 113 | + mepo status |
| 114 | +
|
| 115 | + - name: Update other branches |
| 116 | + if: |
| 117 | + "!contains('refs/heads/main,refs/heads/develop', github.ref)" |
| 118 | + run: | |
| 119 | + mepo checkout-if-exists ${GITHUB_HEAD_REF} |
| 120 | + mepo status |
| 121 | +
|
| 122 | + - name: CMake |
| 123 | + run: | |
| 124 | + cmake -B build -S . --install-prefix=${pwd}/install -DCMAKE_Fortran_COMPILER=gfortran -DCMAKE_BUILD_TYPE=Debug -DMPIEXEC_PREFLAGS='--oversubscribe' -DUSE_F2PY=OFF |
| 125 | +
|
| 126 | + - name: Build |
| 127 | + run: | |
| 128 | + cmake --build build -j 4 |
| 129 | + cmake --install build |
0 commit comments