Bug Fix: Diagnostics and Second Radial Derivatives when Using Finite-Difference Mode #712
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: continuous-integration | |
on: pull_request | |
concurrency: | |
group: ${{ github.actor }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
OMPI_MCA_btl_base_warn_component_unused: 0 | |
OMPI_MCA_mpi_yield_when_idle: 1 | |
OMPI_MCA_rmaps_base_oversubscribe: 1 | |
OMPI_ALLOW_RUN_AS_ROOT: 1 | |
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1 | |
# Fix OpenMPI issue in Docker : https://github.com/open-mpi/ompi/issues/4948 | |
OMPI_MCA_btl_vader_single_copy_mechanism: none | |
jobs: | |
test: | |
name: linux-jammy-container-build | |
strategy: | |
matrix: | |
include: | |
- mpi: "" | |
result-file: "changes-tests.diff" | |
unit-result-file: "changes-unit-tests.diff" | |
- mpi: "--mpi-f08" | |
result-file: "changes-tests-f08.diff" | |
unit-result-file: "changes-unit-tests-f08.diff" | |
- mpi: "--mpi-f77 --FFLAGS=-fallow-argument-mismatch" | |
result-file: "changes-tests-f77.diff" | |
unit-result-file: "changes-unit-tests-f77.diff" | |
runs-on: [ubuntu-latest] | |
container: geodynamics/rayleigh-buildenv-jammy | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build documentation | |
# First make sure notebooks do not contain output, then build doc | |
run: | | |
# this is to fix GIT not liking owner of the checkout dir | |
# see https://github.com/actions/runner/issues/2033 | |
chown -R $(id -u):$(id -g) $PWD | |
cd "$GITHUB_WORKSPACE" | |
make clear_ipynb && git diff --exit-code --name-only | |
make doc | |
- name: Build Rayleigh | |
# Now build Rayleigh itself | |
run: | | |
./configure -debian-mkl ${{ matrix.mpi }} --FFLAGS_DBG='-O0 -g -fbounds-check -ffpe-trap=invalid,zero,overflow -fbacktrace -ffixed-line-length-132 -Wall' | |
make fdeps && git diff --exit-code | |
make -j | |
make install | |
- name: Test | |
run: | | |
#Primary test (Chebyshev Mode) | |
cd "$GITHUB_WORKSPACE"/tests/c2001_case0 | |
mpirun -np 4 ../../bin/rayleigh.dbg | |
# Finite-difference test (uniform grid) | |
cd "$GITHUB_WORKSPACE"/tests/c2001_case0_FD_uniform | |
mpirun -np 4 ../../bin/rayleigh.dbg | |
# Generic input test | |
cd "$GITHUB_WORKSPACE" | |
sh ./tests/generic_input/run_test.sh | |
# chi scalar test | |
cd "$GITHUB_WORKSPACE" | |
sh ./tests/chi_scalar/run_test.sh | |
# custom reference state test | |
cd "$GITHUB_WORKSPACE" | |
sh ./tests/custom_reference/run_test.sh | |
# coupled bc test | |
cd "$GITHUB_WORKSPACE" | |
sh ./tests/coupled_bcs/run_test.sh | |
git diff > changes.diff | |
git diff --exit-code --name-only | |
- name: archive results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.result-file }} | |
path: changes.diff | |
- name: Unit Tests | |
run: | | |
cd "$GITHUB_WORKSPACE"/tests/unit_tests/SHT | |
mpirun -np 4 ../../../bin/rayleigh.dbg > expected_output.out | |
git diff > changes.diff | |
git diff --exit-code --name-only | |
- name: archive results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.unit-result-file }} | |
path: tests/unit_tests/SHT/changes.diff | |
conda: | |
name: conda-build | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
runs-on: ${{ matrix.os }} | |
# Needs to be here to properly detect changes to conda | |
# see https://github.com/conda-incubator/setup-miniconda#IMPORTANT | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
activate-environment: radev | |
environment-file: environment.yml | |
channel-priority: strict | |
auto-update-conda: true | |
miniconda-version: "latest" | |
- name: Build documentation | |
run: | | |
cd "$GITHUB_WORKSPACE" | |
make doc | |
- name: Build Rayleigh | |
run: | | |
cd "$GITHUB_WORKSPACE" | |
./configure --openblas --with-blas=$CONDA_PREFIX --with-fftw=$CONDA_PREFIX --FC=mpifort --FFLAGS_DBG='-O0 -g -fbounds-check -ffpe-trap=invalid,zero,overflow -fbacktrace -ffixed-line-length-132 -Wall' | |
make -j | |
make install | |
- name: Build Rayleigh (CMake) | |
run: | | |
cd "$GITHUB_WORKSPACE" | |
cmake -Bbuild | |
cmake --build build -j -t install |