9 Commit #11
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: Build application | |
on: [push, pull_request] | |
jobs: | |
ubuntu-gcc-build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Setup environment | |
run: | | |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test | |
sudo apt-get update | |
sudo apt-get install gcc-12 g++-12 | |
sudo apt-get install cppcheck ninja-build | |
sudo apt-get install mpich libmpich* mpi* openmpi-bin | |
sudo apt-get install libomp-dev | |
sudo apt-get install python3-pip | |
sudo python3 -m pip install --upgrade pip | |
sudo python3 -m pip install setuptools cpplint | |
sudo apt-get install valgrind | |
- name: Update submodules | |
run: git submodule update --init --recursive | |
- name: ccache | |
uses: hendrikmuhs/[email protected] | |
with: | |
key: ${{ github.job }} | |
- name: CMake configure | |
run: | | |
mkdir build | |
cd build | |
cmake -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STD=ON -D CMAKE_BUILD_TYPE=RELEASE .. | |
cd .. | |
env: | |
CC: gcc-12 | |
CXX: g++-12 | |
- name: Ninja build | |
run: | | |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | |
cd build | |
ninja | |
cd .. | |
env: | |
CC: gcc-12 | |
CXX: g++-12 | |
- name: Run tests | |
run: | | |
export OMP_NUM_THREADS=4 | |
source scripts/run.sh | |
ubuntu-clang-build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Setup environment | |
run: | | |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test | |
sudo apt-get update | |
sudo apt-get install clang-14 | |
sudo apt-get install cppcheck ninja-build | |
sudo apt-get install mpich libmpich* mpi* openmpi-bin | |
sudo apt-get install libomp-dev | |
sudo apt-get install python3-pip | |
sudo python3 -m pip install --upgrade pip | |
sudo python3 -m pip install setuptools cpplint | |
sudo apt-get install valgrind | |
sudo apt-get remove libstdc++-13-dev | |
sudo apt-get remove libhwasan0 | |
- name: Update submodules | |
run: git submodule update --init --recursive | |
- name: ccache | |
uses: hendrikmuhs/[email protected] | |
with: | |
key: ${{ github.job }} | |
- name: CMake configure | |
run: | | |
mkdir build | |
cd build | |
cmake -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STD=ON -D CMAKE_BUILD_TYPE=RELEASE .. | |
cd .. | |
env: | |
CC: clang-14 | |
CXX: clang++-14 | |
- name: Ninja build | |
run: | | |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | |
cd build | |
ninja | |
cd .. | |
env: | |
CC: clang-14 | |
CXX: clang++-14 | |
- name: Run tests | |
run: | | |
export OMP_NUM_THREADS=4 | |
source scripts/run.sh | |
macos-clang-build: | |
runs-on: macOS-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Setup environment | |
run: | | |
rm '/usr/local/bin/2to3' '/usr/local/bin/2to3-3.11' '/usr/local/bin/idle3.11' '/usr/local/bin/idle3' | |
rm '/usr/local/bin/pydoc3.11' '/usr/local/bin/pydoc3' '/usr/local/bin/python3.11' '/usr/local/bin/python3' | |
rm '/usr/local/bin/python3.11-config' '/usr/local/bin/python3-config' | |
brew update-reset | |
brew install cppcheck ninja | |
brew install openssl | |
brew link --force openssl | |
brew install mpich llvm libomp | |
brew link --overwrite [email protected] | |
/usr/local/bin/python3.10 -m pip install --upgrade pip | |
/usr/local/bin/python3.10 -m pip install setuptools cpplint | |
- name: Update submodules | |
run: git submodule update --init --recursive | |
- name: ccache | |
uses: hendrikmuhs/[email protected] | |
with: | |
key: ${{ github.job }} | |
- name: CMake configure | |
run: | | |
export LDFLAGS="$LDFLAGS -L/usr/local/opt/openssl/lib" | |
export CFLAGS="$CFLAGS -I/usr/local/opt/openssl/include" | |
export CXXFLAGS="$CXXFLAGS -I/usr/local/opt/openssl/include" | |
export CPPFLAGS="$CPPFLAGS -I/usr/local/opt/openssl/include" | |
export PATH="/usr/local/opt/openssl/bin:$PATH" | |
export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig" | |
mkdir build | |
cd build | |
cmake -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache -G Ninja -D USE_SEQ=ON -D USE_MPI=OFF -D USE_OMP=ON -D USE_TBB=ON -D USE_STD=ON -D CMAKE_BUILD_TYPE=RELEASE \ | |
-DOpenMP_CXX_FLAGS="-Xclang -fopenmp -I/usr/local/opt/libomp/include" \ | |
-DOpenMP_C_FLAGS="-Xclang -fopenmp -I/usr/local/opt/libomp/include" \ | |
-DOpenMP_CXX_FLAGS="-Xclang -fopenmp -I/usr/local/opt/libomp/include" \ | |
-DOpenMP_C_FLAGS="-Xclang -fopenmp -I/usr/local/opt/libomp/include" \ | |
-DOpenMP_CXX_LIB_NAMES=libomp -DOpenMP_C_LIB_NAMES=libomp \ | |
-DOpenMP_libomp_LIBRARY=/usr/local/opt/libomp/lib/libomp.dylib \ | |
-DCMAKE_SHARED_LINKER_FLAGS="-L/usr/local/opt/libomp/lib -lomp -Wl,-rpath,/usr/local/opt/libomp/lib" .. | |
- name: Ninja build | |
run: | | |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | |
export LDFLAGS="$LDFLAGS -L/usr/local/opt/openssl/lib" | |
export CFLAGS="$CFLAGS -I/usr/local/opt/openssl/include" | |
export CXXFLAGS="$CXXFLAGS -I/usr/local/opt/openssl/include" | |
export CPPFLAGS="$CPPFLAGS -I/usr/local/opt/openssl/include" | |
export PATH="/usr/local/opt/openssl/bin:$PATH" | |
export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig" | |
cd build | |
ninja | |
cd .. | |
- name: Run tests | |
run: | | |
export OMP_NUM_THREADS=4 | |
source scripts/run_mac.sh | |
windows-msvc-build: | |
runs-on: windows-latest | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Add msbuild to PATH | |
uses: microsoft/[email protected] | |
- name: Setup MPI | |
uses: mpi4py/setup-mpi@v1 | |
with: | |
mpi: msmpi | |
- name: Download dependencies | |
run: | | |
choco install openssl | |
- name: Update submodules | |
run: git submodule update --init --recursive | |
- name: Setup ccache | |
uses: Chocobo1/setup-ccache-action@v1 | |
with: | |
windows_compile_environment: msvc | |
- name: CMake configure | |
shell: bash | |
run: | | |
mkdir build | |
cd build | |
cmake -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=OFF -D USE_STD=ON -D CMAKE_BUILD_TYPE=RELEASE .. | |
cd .. | |
- name: MSBuild | |
shell: bash | |
run: | | |
cd build | |
cmake --build . --config Release --parallel | |
cd .. | |
- name: Run tests | |
run: | | |
set OMP_NUM_THREADS=4 | |
scripts/run.bat |