Skip to content

Commit 0f2356e

Browse files
authored
Merge pull request #36 from Goddard-Fortran-Ecosystem/feature/mathomp4/update-ci-gfe
Update subrepos, update CI to make consistent with other GFE repos
2 parents 199e39b + 6071cf3 commit 0f2356e

File tree

9 files changed

+84
-51
lines changed

9 files changed

+84
-51
lines changed

.github/workflows/main.yml

Lines changed: 55 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,20 @@ jobs:
1515
runs-on: ${{ matrix.os }}
1616
strategy:
1717
matrix:
18-
os: [ubuntu-22.04, macos-12, macos-13]
19-
compiler: [gfortran-10, gfortran-11, gfortran-12, gfortran-13]
20-
exclude:
21-
- os: macos-12
22-
compiler: gfortran-10
23-
- os: macos-13
18+
os: [ubuntu-22.04, ubuntu-24.04, macos-13, macos-14]
19+
compiler: [gfortran-11, gfortran-12, gfortran-13]
20+
# gfortran-10 is only on ubuntu-22.04
21+
# gfortran-14 is available on ubuntu-24.04
22+
include:
23+
- os: ubuntu-22.04
2424
compiler: gfortran-10
25+
- os: ubuntu-24.04
26+
compiler: gfortran-14
27+
exclude:
28+
- os: ubuntu-24.04
29+
compiler: gfortran-11
30+
- os: ubuntu-22.04
31+
compiler: gfortran-13
2532

2633
# fail-fast if set to 'true' here is good for production, but when
2734
# debugging, set to 'false'. fail-fast means if *any* ci test in the matrix fails
@@ -59,7 +66,7 @@ jobs:
5966
6067
- name: Cache MPI
6168
id: cache-mpi
62-
uses: actions/cache@v3
69+
uses: actions/cache@v4
6370
with:
6471
path: ~/local/openmpi
6572
key: mpi-${{ runner.os }}-${{ matrix.os }}-${{ matrix.compiler }}
@@ -80,18 +87,22 @@ jobs:
8087
${FC} --version
8188
mpirun --version
8289
mpifort --show
83-
- name: Build GFE
84-
run: |
85-
mkdir -p build
86-
cd build
87-
cmake .. -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
88-
make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) install
89-
cmake .. -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
90-
make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) install
91-
- name: Build and Run Tests
92-
run: |
93-
cd build
94-
make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) tests
90+
91+
- name: Build and Install GFE
92+
run: |
93+
cmake -B build -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
94+
cmake --build build --parallel 4 --target install
95+
cmake -B build -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
96+
cmake --build build --parallel 4 --target install
97+
98+
- name: Build and Run Tests target
99+
run: |
100+
cmake --build build --parallel 4 --target build-tests
101+
cmake --build build --parallel 4 --target tests
102+
103+
- name: Run Ctest
104+
run: ctest --test-dir build --parallel 1 --output-on-failure --repeat until-pass:4
105+
95106
- name: Archive log files on failure
96107
uses: actions/upload-artifact@v4
97108
if: failure()
@@ -118,6 +129,7 @@ jobs:
118129
- name: Set all directories as git safe
119130
run: |
120131
git config --global --add safe.directory '*'
132+
121133
- name: Setup Intel oneAPI repository
122134
run: |
123135
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
@@ -145,20 +157,22 @@ jobs:
145157
${FC} --version
146158
${CC} --version
147159
mpirun --version
160+
cmake --version
148161
149-
- name: Build GFE
162+
- name: Build and Install GFE
150163
run: |
151-
mkdir -p build
152-
cd build
153-
cmake .. -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
154-
make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) install
155-
cmake .. -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
156-
make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) install
164+
cmake -B build -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
165+
cmake --build build --parallel 4 --target install
166+
cmake -B build -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
167+
cmake --build build --parallel 4 --target install
157168
158-
- name: Build and Run Tests
169+
- name: Build and Run Tests target
159170
run: |
160-
cd build
161-
make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) tests
171+
cmake --build build --parallel 4 --target build-tests
172+
cmake --build build --parallel 4 --target tests
173+
174+
- name: Run Ctest
175+
run: ctest --test-dir build --parallel 1 --output-on-failure --repeat until-pass:4
162176

163177
- name: Archive log files on failure
164178
uses: actions/upload-artifact@v4
@@ -170,7 +184,7 @@ jobs:
170184
171185
Nvidia:
172186
runs-on: ubuntu-20.04
173-
container: nvcr.io/nvidia/nvhpc:24.1-devel-cuda12.3-ubuntu22.04
187+
container: nvcr.io/nvidia/nvhpc:24.5-devel-cuda12.4-ubuntu22.04
174188
env:
175189
FC: nvfortran
176190

@@ -196,19 +210,20 @@ jobs:
196210
apt-get update
197211
apt-get install -y python-is-python3
198212
199-
- name: Build GFE
213+
- name: Build and Install GFE
200214
run: |
201-
mkdir -p build
202-
cd build
203-
cmake .. -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
204-
make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) install
205-
cmake .. -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
206-
make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) install
215+
cmake -B build -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
216+
cmake --build build --parallel 4 --target install
217+
cmake -B build -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
218+
cmake --build build --parallel 4 --target install
207219
208-
- name: Build and Run Tests
220+
- name: Build and Run Tests target
209221
run: |
210-
cd build
211-
make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) tests
222+
cmake --build build --parallel 4 --target build-tests
223+
cmake --build build --parallel 4 --target tests
224+
225+
- name: Run Ctest
226+
run: ctest --test-dir build --parallel 1 --output-on-failure --repeat until-pass:4
212227

213228
- name: Archive log files on failure
214229
uses: actions/upload-artifact@v4

ChangeLog.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
55

66
## [Unreleased]
77

8+
## [1.16.0] - 2024-07-10
9+
10+
### Changed
11+
12+
- Update gFTL to v1.14.0
13+
- Added support for non-poly allocatable containers
14+
- Update gFTL-shared to v1.9.0
15+
- Misc minor updates
16+
- Update fArgParse to v1.8.0
17+
- Minor updates
18+
- Update yaFyaml to v1.4.0
19+
- Workaround for gfortran 13.3 and minor updates to CI
20+
- Update pFUinit to v4.10.0
21+
- Migrated to use v2 interfaces from gFTL
22+
- Update CI to match that of pFUnit
23+
- Remove `macos-11` from GitHub Actions, add `macos-12` and `gfortran-14` to Ubuntu 24.04
24+
- Update CI to NVHPC 24.5
25+
826
## [1.15.0] - 2024-03-26
927

1028
### Changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ This repo is intended to be a single fixture for the [Goddard Fortran Ecosystem]
66

77
| Package | Version |
88
| :------ | :------ |
9-
| gFTL | v1.13.0 |
10-
| gFTL-shared | v1.8.0 |
11-
| fArgParse | v1.7.0 |
12-
| pFUnit | v4.9.0 |
13-
| yaFyaml | v1.3.0 |
9+
| gFTL | v1.14.0 |
10+
| gFTL-shared | v1.9.0 |
11+
| fArgParse | v1.8.0 |
12+
| pFUnit | v4.10.0 |
13+
| yaFyaml | v1.4.0 |
1414
| pFlogger | v1.14.0 |
1515

1616
## Set up

tools/ci-install-mpi.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ then
1515
tar xjf ${MPI_IMPL}-${MPI_VER}.tar.bz2 && rm ${MPI_IMPL}-${MPI_VER}.tar.bz2
1616
cd ${MPI_IMPL}-${MPI_VER}
1717
./configure --prefix=${HOME}/local/${MPI_IMPL} --disable-wrapper-rpath --disable-wrapper-runpath --with-hwloc=internal --with-libevent=internal
18-
make -j $(nproc 2>/dev/null || sysctl -n hw.logicalcpu)
18+
make -j 4
1919
make install-strip
2020
cd .. && rm -r ${MPI_IMPL}-${MPI_VER}
2121
exit 0

0 commit comments

Comments
 (0)