Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get rid of red crosses in the CI reports #267

Merged
merged 3 commits into from
Feb 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 26 additions & 7 deletions .github/workflows/containerized-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,13 @@ on:
jobs:
Containerized-CI:
runs-on: ubuntu-22.04
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
fortran-compiler: [ifort, ifx, nvfortran]
rte-kernels: [default, accel]
fpmodel: [DP, SP]
include:
# The tests are not experimental by default:
- experimental: false
# Set flags for Intel Fortran Compiler Classic
- fortran-compiler: ifort
fcflags: -m64 -g -traceback -heap-arrays -assume realloc_lhs -extend-source 132 -check bounds,uninit,pointers,stack -stand f08
Expand All @@ -32,7 +29,6 @@ jobs:
- fortran-compiler: ifx
rte-kernels: accel
fcflags: -debug -traceback -O0 -heap-arrays -assume realloc_lhs -extend-source 132 -stand f08 -fiopenmp -fopenmp-targets=spir64
experimental: true
# Set flags for NVIDIA Fortran compiler
- fortran-compiler: nvfortran
rte-kernels: default
Expand Down Expand Up @@ -77,28 +73,51 @@ jobs:
repository: earth-system-radiation/rrtmgp-data
path: rrtmgp-data
#
# Build libraries, examples and tests
# Build libraries, examples and tests (expect success)
#
- name: Build libraries, examples and tests
- name: Build libraries, examples and tests (expect success)
id: build-success
if: matrix.fortran-compiler != 'ifx' || matrix.rte-kernels != 'accel'
run: |
$FC --version
make libs
make -C build separate-libs
#
# Build libraries, examples and tests (expect failure)
#
- name: Build libraries, examples and tests (expect failure)
if: steps.build-success.outcome == 'skipped'
shell: bash
run: |
$FC --version
make libs 2> >(tee make.err >&2) && {
echo "Unexpected success"
exit 1
} || {
grep make.err -e 'Internal compiler error' && {
echo "Expected failure"
} || {
echo "Unexpected failure"
exit 1
}
}
#
# Run examples and tests
#
- name: Run examples and tests
if: steps.build-success.outcome != 'skipped'
run: make tests
#
# Relax failure thresholds for single precision
#
- name: Relax failure threshold for single precision
if: matrix.fpmodel == 'SP'
if: matrix.fpmodel == 'SP' && steps.build-success.outcome != 'skipped'
run: echo "FAILURE_THRESHOLD=3.5e-1" >> $GITHUB_ENV
#
# Compare the results
#
- name: Compare the results
if: steps.build-success.outcome != 'skipped'
run: make check
#
# Generate validation plots
Expand Down
8 changes: 0 additions & 8 deletions .github/workflows/gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ jobs:
levante:
runs-on: ubuntu-latest
needs: levante-init
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
Expand All @@ -72,9 +71,6 @@ jobs:
- nag-cpu-default-SP
- nag-cpu-accel-DP
#- nag-cpu-accel-SP
include:
# The tests are not experimental by default:
- experimental: false
steps:
#
# Build, run and check (fetch the log)
Expand Down Expand Up @@ -161,16 +157,12 @@ jobs:
lumi:
runs-on: ubuntu-latest
needs: lumi-init
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
config-name:
- cce-gpu-openacc-DP
- cce-gpu-openacc-SP
include:
# The tests are not experimental by default:
- experimental: false
steps:
#
# Build, run and check (fetch the log)
Expand Down
23 changes: 16 additions & 7 deletions .github/workflows/self-hosted-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,12 @@ jobs:
if: github.repository == 'earth-system-radiation/rte-rrtmgp'
runs-on:
labels: cscs-ci
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
config-name: [nvidia-gpu-openacc, cce-cpu-icon-production, cce-gpu-openmp]
fpmodel: [DP, SP]
include:
# The tests are not experimental by default:
- experimental: false
- config-name: nvidia-gpu-openacc
rte-kernels: accel
compiler-modules: "PrgEnv-nvidia nvidia craype-accel-nvidia60 cdt-cuda/21.09 !cray-libsci_acc"
Expand All @@ -42,7 +39,6 @@ jobs:
compiler-modules: "PrgEnv-cray craype-accel-nvidia60 cdt-cuda/22.05 cudatoolkit/11.2.0_3.39-2.1__gf93aa1c"
# OpenMP flags from Nichols Romero (Argonne)
fcflags: "-hnoacc -homp -O0"
experimental: true
env:
# Core variables:
FC: ftn
Expand Down Expand Up @@ -103,18 +99,31 @@ jobs:
make libs
make -C build separate-libs
#
# Run examples and tests
# Run examples and tests (expect success)
#
- name: Run examples and tests
- name: Run examples and tests (expect success)
id: run-success
if: matrix.config-name != 'cce-gpu-openmp'
run: make tests
#
# Run examples and tests (expect failure)
#
- name: Run examples and tests (expect failure)
if: steps.run-success.outcome == 'skipped'
run: |
make tests && {
echo "Unexpected success"
exit 1
} || echo "Expected failure"
#
# Relax failure thresholds for single precision
#
- name: Relax failure threshold for single precision
if: matrix.fpmodel == 'SP'
if: matrix.fpmodel == 'SP' && steps.run-success.outcome != 'skipped'
run: echo "FAILURE_THRESHOLD=3.5e-1" >> $GITHUB_ENV
#
# Compare the results
#
- name: Compare the results
if: steps.run-success.outcome != 'skipped'
run: make check
Loading