Merge pull request #371 from donnaaboise/cleanup-docs-dir #660
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: CI for Automake | |
on: | |
push: | |
paths-ignore: | |
- "**/CMakeLists.txt" | |
- "**.cmake" | |
- "**.cmake.in" | |
- "cmake/**" | |
- "CMake*" | |
- ".github/workflows/*.yml" | |
- "!.github/workflows/ci_automake.yml" | |
pull_request: | |
release: | |
types: [published] | |
env: | |
CFLAGS: -lgfortran -O2 -g | |
CXXFLAGS: -lgfortran --std=c++17 -O2 -g | |
FCFLAGS: -lgfortran -cpp -O2 -g | |
FFLAGS: -lgfortran -cpp -O2 -g | |
jobs: | |
linux: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 60 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: "Serial Minimal" | |
configure_flags: "" | |
ubuntu_packages: "" | |
- name: "Serial With Clawpack" | |
configure_flags: "--enable-clawpack" | |
ubuntu_packages: "" | |
- name: "Serial With Clawpack and HDF" | |
configure_flags: "--enable-clawpack --with-hdf5" | |
ubuntu_packages: "libhdf5-dev" | |
- name: "Serial With GeoClaw" | |
configure_flags: "--enable-geoclaw" | |
ubuntu_packages: "" | |
- name: "Serial With CudaClaw (CUDA 10.1)" | |
configure_flags: "CUDA_CFLAGS=\"-arch=sm_61\" LIBS=\"-lcuda -lcudart -lnvToolsExt\" --enable-cudaclaw --disable-shared" | |
ubuntu_packages: "nvidia-cuda-toolkit" | |
cuda: true | |
- name: "Serial With CudaClaw (CUDA 11.3)" | |
configure_flags: "NVCC=/usr/local/cuda-11.3/bin/nvcc CUDA_CFLAGS=\"-arch=sm_61\" LIBS=\"-L/usr/local/cuda-11.3/lib64 -lcudart -lnvToolsExt\" --enable-cudaclaw --disable-shared" | |
ubuntu_packages: "" | |
cuda: true | |
cuda_11_3: true | |
- name: "MPI Minimal" | |
configure_flags: "--enable-mpi" | |
ubuntu_packages: "libopenmpi-dev openmpi-bin" | |
- name: "MPI Debug With CXX" | |
configure_flags: "--enable-mpi --enable-debug CC=mpicxx" | |
ubuntu_packages: "libopenmpi-dev openmpi-bin" | |
- name: "MPI With Clawpack" | |
configure_flags: "--enable-clawpack --enable-mpi" | |
ubuntu_packages: "libopenmpi-dev openmpi-bin" | |
- name: "MPI With Clawpack and HDF" | |
configure_flags: "--enable-clawpack --enable-mpi --with-hdf5" | |
ubuntu_packages: "libopenmpi-dev openmpi-bin libhdf5-openmpi-dev" | |
- name: "MPI With GeoClaw" | |
configure_flags: "--enable-geoclaw --enable-mpi" | |
ubuntu_packages: "libopenmpi-dev openmpi-bin" | |
- name: "MPI With CudaClaw (CUDA 10.1)" | |
configure_flags: "CUDA_CFLAGS=\"-arch=sm_61 -I/usr/lib/x86_64-linux-gnu/openmpi/include\" LIBS=\"-lcuda -lcudart -lnvToolsExt\" --enable-cudaclaw --enable-mpi --disable-shared" | |
ubuntu_packages: "libopenmpi-dev openmpi-bin nvidia-cuda-toolkit" | |
cuda: true | |
- name: "MPI With CudaClaw (CUDA 11.3)" | |
configure_flags: "NVCC=/usr/local/cuda-11.3/bin/nvcc CUDA_CFLAGS=\"-arch=sm_61 -I/usr/lib/x86_64-linux-gnu/openmpi/include\" LIBS=\"-L/usr/local/cuda-11.3/lib64 -lcudart -lnvToolsExt\" --enable-cudaclaw --enable-mpi --disable-shared" | |
ubuntu_packages: "libopenmpi-dev openmpi-bin" | |
cuda: true | |
cuda_11_3: true | |
- name: "MPI With ThunderEgg" | |
configure_flags: "--enable-mpi --enable-thunderegg --with-thunderegg=$GITHUB_WORKSPACE/ThunderEgg" | |
ubuntu_packages: "cmake libopenmpi-dev openmpi-bin libfftw3-dev" | |
thunderegg: true | |
name: Automake ${{ matrix.name }} Build on Linux | |
steps: | |
- uses: actions/checkout@v4 | |
name: "Checkout Source code" | |
- uses: actions/checkout@v4 | |
name: "Checkout ThunderEgg Source code" | |
if: ${{ matrix.thunderegg }} | |
with: | |
repository: ThunderEgg/ThunderEgg | |
ref: v1.0.5 | |
path: ThunderEggSrc | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install ${{ matrix.ubuntu_packages }} | |
- name: Install Cuda Toolkit 11.3 | |
if: ${{ matrix.cuda_11_3 }} | |
run: | | |
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb | |
sudo dpkg -i cuda-keyring_1.0-1_all.deb | |
sudo apt-get update | |
sudo apt-get -y install cuda-toolkit-11-3 | |
- name: Install ThunderEgg | |
if: ${{ matrix.thunderegg }} | |
run: | | |
cd ThunderEggSrc | |
cmake -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/ThunderEgg/ -DBUILD_TESTING=OFF . | |
make install | |
- name: Init and Update Submodules | |
run: | | |
git submodule init | |
git submodule update | |
- name: Run bootstrap Script | |
run: ./bootstrap | |
- name: Configure | |
run: ./configure ${{ matrix.configure_flags }} | |
- name: Print Configure log | |
if: ${{ failure() }} | |
run: cat config.log | |
- name: Build | |
run: | | |
export V=0 | |
make -j -C sc | |
make -j -C p4est | |
make -j || make -j || make -j || make -j || make -j | |
- name: Tests | |
if: ${{ !matrix.cuda }} | |
run: make -j check V=0 | |
- name: Print Test log | |
if: ${{ failure() }} | |
run: | | |
cat sc/test-suite.log | |
cat p4est/test-suite.log | |
cat test-suite.log | |
- name: Install | |
run: sudo make -j install V=0 |