3 The CI workflows and checks, and associated container environments for this repository
5 Actions run via Github-hosted runners unless otherwise noted.
6 Required CI for pull requests are listed first.
8 ## Pull Request CI and checks
10 ### Build libFMS with autotools
12 Required GNU build test for all pull requests/pushes.
13 Runs `make distcheck` after configuring via GNU autotools.
15 Runs on a container image with spack installed dependencies, on top a rocky linux base.
17 Dockerfile for image is stored at .github/workflows/Dockerfile.gnu for more specific information on the CI environment.
19 Container environment:
27 `./configure` flags tested:
29 - `--enable-mixed-mode`
30 - `--with-mpi=no` (disables unit testing)
31 - `--disable-setting-flags`
33 - `--enable-test-input=/home/unit_tests_input`
36 ### Build libfms with cmake
37 Required GNU build test for all pull requests/pushes.
38 Runs `make` after configuring via cmake.
40 Container environment:
47 container hosted at [noaagfdl/ubuntu_libfms_gnu:latest](https://hub.docker.com/r/noaagfdl/ubuntu_libfms_gnu)
56 Required test for all pull requests.
57 Checks code for line lengths, tabs, and trailing whitespace in accordance with
58 the project's [style guide](https://github.com/NOAA-GFDL/FMS/blob/main/CODE_STYLE.md).
59 The action is hosted on github [here](https://github.com/NOAA-GFDL/simple_lint).
62 The following CI workflows run on self-hosted runners through the parallelworks platform.
63 ### Pull Request CI libFMS with intel
64 Optional(does not need to pass to merge) intel build test hosted on the parallelworks platform.
65 Runs `make check` with intel 18 and 21 compilers for all pull requests.
67 ### Tag CI libFMS with AM4 regression
68 On alpha or beta tag creation, compiles and runs full AM4 model regression testing using the new FMS tag on parallelworks.