Replace travis.yml by github workflow

This commit is contained in:
Nils Wentzell 2020-08-06 15:07:35 -04:00
parent 182550a831
commit 23568264b5
2 changed files with 89 additions and 34 deletions

89
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,89 @@
name: build
on:
push:
branches: [ unstable ]
pull_request:
branches: [ unstable ]
jobs:
build:
strategy:
matrix:
include:
- {os: ubuntu-20.04, cc: gcc-10, cxx: g++-10}
- {os: ubuntu-20.04, cc: clang-10, cxx: clang++-10}
- {os: macos-10.15, cc: gcc-10, cxx: g++-10}
- {os: macos-10.15, cc: /usr/local/opt/llvm/bin/clang, cxx: /usr/local/opt/llvm/bin/clang++}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Install ubuntu dependencies
if: matrix.os == 'ubuntu-20.04'
run: >
sudo apt-get install
clang-10
g++-10
gfortran
hdf5-tools
libblas-dev
libboost-dev
libclang-10-dev
libc++-10-dev
libc++abi-10-dev
libfftw3-dev
libgfortran4
libgmp-dev
libhdf5-dev
liblapack-dev
libopenmpi-dev
openmpi-bin
openmpi-common
openmpi-doc
python3-clang-10
python3-dev
python3-mako
python3-matplotlib
python3-mpi4py
python3-numpy
python3-pip
python3-scipy
python3-sphinx
python3-nbsphinx
- name: Install homebrew dependencies
if: matrix.os == 'macos-10.15'
run: |
brew install gcc@10 llvm@10 boost fftw hdf5 open-mpi openblas numpy scipy mpi4py
pip3 install mako
pip3 install -r requirements.txt
- name: Build & Install TRIQS
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
run: |
git clone https://github.com/TRIQS/triqs --branch unstable
mkdir triqs/build && cd triqs/build
cmake .. -DBuild_Tests=OFF -DCMAKE_INSTALL_PREFIX=$HOME/install
make -j1 install VERBOSE=1
cd ../
- name: Build app4triqs
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
run: |
source $HOME/install/share/triqsvars.sh
mkdir build && cmake -B build
cmake --build build -j2
- name: Test app4triqs
run: |
source $HOME/install/share/triqsvars.sh
cd build
ctest -j2 --output-on-failure

View File

@ -1,34 +0,0 @@
language: cpp
sudo: required
dist: bionic
compiler:
- gcc
- clang
before_install:
- sudo apt-get update
- sudo apt-get install -y --allow-unauthenticated libblas-dev libboost-all-dev libfftw3-dev libgfortran3 libhdf5-serial-dev libgmp-dev liblapack-dev libopenmpi-dev libclang-dev python-clang-6.0 python-dev python-h5py python-mako python-matplotlib python-mpi4py python-numpy python-scipy python-sphinx libjs-mathjax libnfft3-dev
install: true
script:
- export INSTALL_DIR=$HOME/root_install # We install outside the repository
# ===== Set up TRIQS
- cd $TRAVIS_BUILD_DIR
- git clone https://github.com/TRIQS/triqs --branch unstable
- mkdir triqs/build && cd triqs/build
- cmake .. -DBuild_Tests=OFF -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR
- make -j2 install
- source $INSTALL_DIR/share/triqsvars.sh
# ===== Set up app4triqs and test
- cd $TRAVIS_BUILD_DIR
- mkdir build && cd build
- cmake .. -DASAN=ON -DUBSAN=ON
- export UBSAN_SYMBOLIZER_PATH=$(which llvm-symbolizer)
- export ASAN_SYMBOLIZER_PATH=$(which llvm-symbolizer)
- export UBSAN_OPTIONS=symbolize=1:print_stacktrace=1
- export ASAN_OPTIONS=symbolize=1:detect_leaks=0
- export CTEST_OUTPUT_ON_FAILURE=1
- make -j2 && make test