Merge pull request #205 from tim-griesbach/feature-scda #962
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 Autotools/Linux | |
on: | |
push: | |
paths-ignore: | |
- "**/CMakeLists.txt" | |
- "**.cmake" | |
- "**.cmake.in" | |
- "cmake/**" | |
- "CMake*" | |
- ".github/workflows/ci_cmake.yml" | |
- ".github/workflows/ci_darwin.yml" | |
- ".github/workflows/composite-cmake/**" | |
pull_request: | |
jobs: | |
linux-multi: | |
runs-on: ubuntu-latest | |
name: Autotools build on Linux | |
steps: | |
- name: Install system dependencies | |
run: | | |
sudo apt-get update -yq | |
sudo apt-get install -yq --no-install-recommends \ | |
zlib1g-dev libmpich-dev mpich | |
- name: Checkout source code | |
uses: actions/checkout@main | |
- name: Run bootstrap script | |
run: ./bootstrap | |
- name: Make check with MPI and debug, without shared | |
shell: bash | |
run: | | |
DIR="checkMPIdebug_shared" && mkdir -p "$DIR" && cd "$DIR" | |
../configure --enable-mpi --enable-debug --disable-shared \ | |
CFLAGS="-O0 -g -Wall -Wextra -Wno-unused-parameter" | |
make -j V=0 | |
make -j check V=0 | |
- name: Make check with MPI, without debug | |
shell: bash | |
run: | | |
DIR="checkMPI" && mkdir -p "$DIR" && cd "$DIR" | |
../configure --enable-mpi CFLAGS="-O2" | |
make -j V=0 | |
make -j check V=0 | |
- name: Make check without MPI, with debug | |
shell: bash | |
run: | | |
DIR="checkdebug" && mkdir -p "$DIR" && cd "$DIR" | |
../configure --enable-debug CFLAGS="-O0 -g -Wall -Wno-uninitialized" | |
make -j V=0 | |
make -j check V=0 | |
- name: Install JSON parser library halfway through CI run | |
run: | | |
sudo apt-get install -yq --no-install-recommends \ | |
libjansson-dev | |
- name: Make check with MPI, debug and C++ compiler | |
shell: bash | |
run: | | |
DIR="checkMPIdebugCXX" && mkdir -p "$DIR" && cd "$DIR" | |
../configure --enable-mpi --enable-debug CFLAGS="-O0" CC=mpicxx | |
make -j V=0 | |
make -j check V=0 | |
- name: Make check with OpenMP, MPI, debug | |
shell: bash | |
run: | | |
DIR="checkOpenMPMPIdebug" && mkdir -p "$DIR" && cd "$DIR" | |
../configure --enable-openmp="-fopenmp" --enable-mpi \ | |
--enable-debug CFLAGS="-O0" | |
make -j V=0 | |
make -j check V=0 | |
- name: Make distcheck | |
shell: bash | |
run: | | |
DIR="distcheck" && mkdir -p "$DIR" && cd "$DIR" | |
../configure | |
make -j distcheck V=0 | |
- name: Upload log files | |
if: always() | |
uses: actions/upload-artifact@main | |
with: | |
name: linux_multi_log | |
path: | | |
./**/config.log | |
./**/test-suite.log | |
./**/test/*.log | |
linux-valgrind: | |
runs-on: ubuntu-latest | |
name: Autotools with valgrind | |
steps: | |
- name: Install system dependencies | |
run: | | |
sudo apt-get update -yq | |
sudo apt-get install -yq --no-install-recommends \ | |
zlib1g-dev libmpich-dev mpich valgrind | |
- name: Checkout source code | |
uses: actions/checkout@main | |
- name: Run bootstrap script | |
run: ./bootstrap | |
- name: Make check with MPI, debug and valgrind, without shared | |
shell: bash | |
run: | | |
DIR="checkMPIdebug_valgrind" && mkdir -p "$DIR" && cd "$DIR" | |
../configure --enable-mpi --enable-debug \ | |
--disable-shared --enable-valgrind \ | |
CFLAGS="-O0 -g -Wall -Wextra -Wno-unused-parameter" | |
make -j V=0 | |
make -j check V=0 | |
- name: Upload log files | |
if: always() | |
uses: actions/upload-artifact@main | |
with: | |
name: linux_valgrind_log | |
path: | | |
./**/config.log | |
./**/test-suite.log | |
./**/test/*.log | |
linux-tarball: | |
runs-on: ubuntu-latest | |
name: Pack tarball on Linux | |
steps: | |
- name: Install system dependencies | |
run: | | |
sudo apt-get update -yq | |
sudo apt-get install -yq --no-install-recommends \ | |
zlib1g-dev libmpich-dev mpich | |
- name: Checkout source code | |
uses: actions/checkout@main | |
with: | |
fetch-depth: 0 | |
- name: Identify version | |
shell: bash | |
run: | | |
git tag | |
git describe --abbrev=4 --match 'v*' | |
- name: Run bootstrap script | |
run: ./bootstrap | |
- name: Configure and make | |
shell: bash | |
run: | | |
DIR="tarball" && mkdir -p "$DIR" && cd "$DIR" | |
../configure --enable-mpi --enable-debug \ | |
CFLAGS="-O0 -g -pedantic -Wall -Wextra -Werror \ | |
-Wno-unused-parameter -Wno-builtin-declaration-mismatch \ | |
-Wno-implicit-fallthrough" | |
make -j V=0 | |
make -j check V=0 | |
make -j distcheck V=0 | |
mv libsc-*.tar.gz .. | |
- name: Upload tarball | |
uses: actions/upload-artifact@main | |
with: | |
name: libsc_tarball | |
path: ./libsc-*.tar.gz | |
- name: Upload log files | |
if: always() | |
uses: actions/upload-artifact@main | |
with: | |
name: linux_tarball_log | |
path: | | |
./**/config.log | |
./**/test-suite.log | |
./**/test/*.log |