Skip to content

move forcing function generation to separate function #1424

move forcing function generation to separate function

move forcing function generation to separate function #1424

Workflow file for this run

name: build
on: [push, pull_request]
jobs:
docker-build-and-test:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
name: Build and Test - ${{ matrix.dockerfile }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
dockerfile:
- Dockerfile
- Dockerfile.coverage
- Dockerfile.llvm
- Dockerfile.memcheck
- Dockerfile.no_json
- Dockerfile.nvhpc
# - Dockerfile.intel # intel image is too large for GH action
# - Dockerfile.openmp
# - Dockerfile.mpi
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
submodules: recursive
- name: Build Docker image
run: docker build -t micm -f ${{ matrix.dockerfile }} .
- name: Run tests in container
if: matrix.dockerfile != 'Dockerfile.coverage' && matrix.dockerfile != 'Dockerfile.nvhpc'
run: docker run --name test-container -t micm bash -c 'make test ARGS="--rerun-failed --output-on-failure -j8"'
- name: Run coverage tests in container
if: matrix.dockerfile == 'Dockerfile.coverage'
run: docker run --name test-container -t micm bash -c 'make coverage ARGS="--rerun-failed --output-on-failure -j8"'
- name: Copy coverage from container
if: matrix.dockerfile == 'Dockerfile.coverage'
run: docker cp test-container:build/coverage.info .
- name: Upload coverage report
if: matrix.dockerfile == 'Dockerfile.coverage'
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage.info
multiplatform:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
compiler:
- { cpp: g++, c: gcc}
- { cpp: clang++, c: clang}
- { cpp: cl, c: cl }
exclude:
- os: windows-latest
compiler: { cpp: clang++, c: clang }
- os: windows-latest
compiler: { cpp: g++, c: gcc }
- os: ubuntu-latest
compiler: { cpp: cl, c: cl }
- os: macos-latest
compiler: { cpp: cl, c: cl }
env:
CC: ${{ matrix.compiler.c }}
CXX: ${{ matrix.compiler.cpp }}
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install CMake
if: matrix.os == 'windows-latest'
run: choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'
- name: Install CMake
if: matrix.os != 'windows-latest'
run: |
if [[ "${{ matrix.os }}" == "ubuntu-latest" ]]; then
sudo apt-get update
sudo apt-get install -y cmake
elif [[ "${{ matrix.os }}" == "macos-latest" ]]; then
brew install cmake
fi
- name: Configure and build
run: |
mkdir build
cd build
cmake ..
cmake --build .
- name: Run tests
run: |
cd build
ctest -C Debug --rerun-failed --output-on-failure . --verbose