Skip to content

Enable use of 3D FFT for uniform dz and hybrid FFT for stretched grid… #5727

Enable use of 3D FFT for uniform dz and hybrid FFT for stretched grid…

Enable use of 3D FFT for uniform dz and hybrid FFT for stretched grid… #5727

Workflow file for this run

name: ERF CI
on:
push:
# branches: [development]
paths-ignore:
- Docs
- README.rst
- license.txt
pull_request:
branches: [development]
concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-ci
cancel-in-progress: true
jobs:
Build-And-Test:
runs-on: ${{matrix.os}}
strategy:
matrix:
os: [ubuntu-latest]
include:
- os: ubuntu-latest
install_deps: sudo apt-get install mpich libmpich-dev
comp: gnu
procs: $(nproc)
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup
run: |
# echo "::add-matcher::.github/problem-matchers/gcc.json"
echo "NPROCS=${{matrix.procs}}" >> $GITHUB_ENV
# cmake -E make_directory ${{runner.workspace}}/deps
- name: Handle Dependencies
run: |
# Install MPI
${{matrix.install_deps}}
- name: Install CCache
run: Submodules/AMReX/.github/workflows/dependencies/dependencies_ccache.sh
- name: Set Up Cache
uses: actions/cache@v4
with:
path: ~/.cache/ccache
key: ccache-${{ github.workflow }}-${{ github.job }}-git-${{ github.sha }}
restore-keys: |
ccache-${{ github.workflow }}-${{ github.job }}-git-
- name: Configure CMake
run: |
cmake \
-B${{runner.workspace}}/ERF/build-${{matrix.os}} \
-DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/ERF/install \
-DCMAKE_BUILD_TYPE:STRING=Debug \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DERF_DIM:STRING=3 \
-DERF_ENABLE_MPI:BOOL=ON \
-DERF_ENABLE_TESTS:BOOL=ON \
-DERF_ENABLE_ALL_WARNINGS:BOOL=ON \
-DERF_ENABLE_FCOMPARE:BOOL=ON \
${{github.workspace}};
# ${{matrix.mpipreflags}} \
# -DCODECOVERAGE:BOOL=ON \
- name: Build
run: |
export CCACHE_COMPRESS=1
export CCACHE_COMPRESSLEVEL=10
export CCACHE_MAXSIZE=600M
ccache -z
cmake --build ${{runner.workspace}}/ERF/build-${{matrix.os}} --parallel ${{env.NPROCS}} \
2>&1 | tee -a ${{runner.workspace}}/build-output.txt;
ccache -s
du -hs ~/.cache/ccache
- name: Report
run: |
egrep "warning:|error:" ${{runner.workspace}}/build-output.txt \
| egrep -v "Submodules/amrex" | egrep -v "lto-wrapper: warning:" | sort | uniq \
| awk 'BEGIN{i=0}{print $0}{i++}END{print "Warnings: "i}' > ${{runner.workspace}}/build-output-warnings.txt
cat ${{runner.workspace}}/build-output-warnings.txt
export return=$(tail -n 1 ${{runner.workspace}}/build-output-warnings.txt | awk '{print $2}')
exit ${return}
- name: Regression Tests
run: |
ctest -L regression -VV
working-directory: ${{runner.workspace}}/ERF/build-${{matrix.os}}
# Raf: disabled Codecov since the dashboard and GitHub comments were buggy,
# but it may be useful to post the gcov coverage reports to GitHub Actions
# artifacts.
# Note: if reenabling Codecov, the reports must be in xml format not html.
# - name: Generate coverage report
# working-directory: ${{runner.workspace}}/ERF/build-${{matrix.os}}
# run: |
# find . -type f -name '*.gcno' -path "**Source**" -exec gcov -pb {} +
# cd ..
# gcovr -g -k -r . --xml regressioncov.html # -v
# - name: Success artifacts
# uses: actions/upload-artifact@v4
# if: success()
# with:
# name: build-and-test
# path: |
# ${{runner.workspace}}/ERF/regressioncov.html
# - name: Failing test artifacts
# uses: actions/upload-artifact@v4
# if: failure()
# with:
# name: build-and-test
# path: |
# ${{runner.workspace}}/ERF/regressioncov.html