Skip to content

Commit 3a76146

Browse files
authored
Merge pull request #38 from Goddard-Fortran-Ecosystem/feature/mathomp4/1.17.0-release
Updates for new release
2 parents 0f2356e + c55de60 commit 3a76146

File tree

10 files changed

+110
-30
lines changed

10 files changed

+110
-30
lines changed

.github/workflows/main.yml

Lines changed: 75 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,20 @@ jobs:
1515
runs-on: ${{ matrix.os }}
1616
strategy:
1717
matrix:
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
18+
os: [ubuntu-22.04, ubuntu-24.04, macos-14]
19+
compiler: [gfortran-12, gfortran-13, gfortran-14]
20+
# gfortran-10 and -11 are only on ubuntu-22.04
21+
# gfortran-13 and -14 are not on ubuntu-22.04
2222
include:
2323
- os: ubuntu-22.04
2424
compiler: gfortran-10
25-
- os: ubuntu-24.04
26-
compiler: gfortran-14
27-
exclude:
28-
- os: ubuntu-24.04
25+
- os: ubuntu-22.04
2926
compiler: gfortran-11
27+
exclude:
3028
- os: ubuntu-22.04
3129
compiler: gfortran-13
30+
- os: ubuntu-22.04
31+
compiler: gfortran-14
3232

3333
# fail-fast if set to 'true' here is good for production, but when
3434
# debugging, set to 'false'. fail-fast means if *any* ci test in the matrix fails
@@ -98,7 +98,7 @@ jobs:
9898
- name: Build and Run Tests target
9999
run: |
100100
cmake --build build --parallel 4 --target build-tests
101-
cmake --build build --parallel 4 --target tests
101+
cmake --build build --parallel 4 --target tests || ctest --test-dir build --parallel 1 --output-on-failure --repeat until-pass:4
102102
103103
- name: Run Ctest
104104
run: ctest --test-dir build --parallel 1 --output-on-failure --repeat until-pass:4
@@ -107,12 +107,12 @@ jobs:
107107
uses: actions/upload-artifact@v4
108108
if: failure()
109109
with:
110-
name: logfiles
110+
name: logfiles-${{ matrix.compiler }}-${{ matrix.os }}
111111
path: |
112112
build/**/*.log
113113
114114
Intel:
115-
runs-on: ubuntu-latest
115+
runs-on: ubuntu-22.04
116116

117117
env:
118118
FC: ifx
@@ -169,7 +169,7 @@ jobs:
169169
- name: Build and Run Tests target
170170
run: |
171171
cmake --build build --parallel 4 --target build-tests
172-
cmake --build build --parallel 4 --target tests
172+
cmake --build build --parallel 4 --target tests || ctest --test-dir build --parallel 1 --output-on-failure --repeat until-pass:4
173173
174174
- name: Run Ctest
175175
run: ctest --test-dir build --parallel 1 --output-on-failure --repeat until-pass:4
@@ -178,17 +178,75 @@ jobs:
178178
uses: actions/upload-artifact@v4
179179
if: failure()
180180
with:
181-
name: logfiles
181+
name: logfiles-Intel
182182
path: |
183183
build/**/*.log
184184
185185
Nvidia:
186-
runs-on: ubuntu-20.04
187-
container: nvcr.io/nvidia/nvhpc:24.5-devel-cuda12.4-ubuntu22.04
186+
runs-on: ubuntu-22.04
187+
container: nvcr.io/nvidia/nvhpc:24.7-devel-cuda12.5-ubuntu22.04
188188
env:
189189
FC: nvfortran
190190

191191
name: Nvidia HPC
192+
steps:
193+
- name: Versions
194+
run: |
195+
${FC} --version
196+
cmake --version
197+
198+
- name: Checkout
199+
uses: actions/checkout@v4
200+
with:
201+
fetch-depth: 1
202+
submodules: true
203+
204+
- name: Set all directories as git safe
205+
run: |
206+
git config --global --add safe.directory '*'
207+
208+
- name: Add python-is-python3 package
209+
run: |
210+
apt-get update
211+
apt-get install -y python-is-python3
212+
213+
- name: Build and Install GFE
214+
run: |
215+
cmake -B build -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install -DSKIP_ROBUST=YES
216+
cmake --build build --parallel 4 --target install
217+
cmake -B build -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install -DSKIP_ROBUST=YES
218+
cmake --build build --parallel 4 --target install
219+
220+
- name: Build and Run Tests target
221+
run: |
222+
cmake --build build --parallel 4 --target build-tests
223+
cmake --build build --parallel 4 --target tests || ctest --test-dir build --parallel 1 --output-on-failure --repeat until-pass:4
224+
225+
- name: Run Ctest
226+
run: ctest --test-dir build --parallel 1 --output-on-failure --repeat until-pass:4
227+
228+
- name: Archive log files on failure
229+
uses: actions/upload-artifact@v4
230+
if: failure()
231+
with:
232+
name: logfiles-Nvidia
233+
path: |
234+
build/**/*.log
235+
236+
Flang:
237+
runs-on: ubuntu-latest
238+
container: gmao/llvm-flang-openmpi:latest
239+
env:
240+
FC: flang-new
241+
LANGUAGE: en_US.UTF-8
242+
LC_ALL: en_US.UTF-8
243+
LANG: en_US.UTF-8
244+
LC_TYPE: en_US.UTF-8
245+
OMPI_ALLOW_RUN_AS_ROOT: 1
246+
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
247+
OMPI_MCA_btl_vader_single_copy_mechanism: none
248+
249+
name: Flang
192250
steps:
193251
- name: Versions
194252
run: |
@@ -220,7 +278,7 @@ jobs:
220278
- name: Build and Run Tests target
221279
run: |
222280
cmake --build build --parallel 4 --target build-tests
223-
cmake --build build --parallel 4 --target tests
281+
cmake --build build --parallel 4 --target tests || ctest --test-dir build --parallel 1 --output-on-failure --repeat until-pass:4
224282
225283
- name: Run Ctest
226284
run: ctest --test-dir build --parallel 1 --output-on-failure --repeat until-pass:4
@@ -229,7 +287,7 @@ jobs:
229287
uses: actions/upload-artifact@v4
230288
if: failure()
231289
with:
232-
name: logfiles
290+
name: logfiles-Flang
233291
path: |
234292
build/**/*.log
235293

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.12)
22
project (GFE
3-
VERSION 1.15.0
3+
VERSION 1.17.0
44
LANGUAGES Fortran
55
)
66
cmake_policy(SET CMP0074 NEW)

ChangeLog.md

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

66
## [Unreleased]
77

8+
## [1.17.0] - 2025-02-04
9+
10+
### Changed
11+
12+
- Update gFTL to v1.15.1
13+
- New variant of Set container (compiler workaround)
14+
- Update gFTL-shared to v1.10.0
15+
- Added support for LLVMFlang
16+
- Update fArgParse to v1.9.0
17+
- LLVMFlang support and misc workarounds
18+
- Update pFUnit to v4.11.1
19+
- Misc updates (support for Flang) and gfortran workarounds
20+
- Update yaFyaml to v1.5.1
21+
- Flang support
22+
- Workaround for `ifx`
23+
- Update pFlogger to v1.15.0
24+
- Flang support
25+
- Update CI to have `gfortran-10` and `gfortran-11` only on `ubuntu-22.04`
26+
- Update CI NVIDIA to NVHPC 24.7
27+
- Add Flang to CI
28+
- Removed `macos-13` from CI, use `macos-14`
29+
830
## [1.16.0] - 2024-07-10
931

1032
### Changed

README.md

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

77
| Package | Version |
88
| :------ | :------ |
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 |
14-
| pFlogger | v1.14.0 |
9+
| gFTL | v1.15.1 |
10+
| gFTL-shared | v1.10.0 |
11+
| fArgParse | v1.9.0 |
12+
| pFUnit | v4.11.1 |
13+
| yaFyaml | v1.5.1 |
14+
| pFlogger | v1.15.0 |
1515

1616
## Set up
1717

gFTL

Submodule gFTL updated 78 files

0 commit comments

Comments
 (0)