From 23568264b576b763aa465a9ad8dcdce0a851976c Mon Sep 17 00:00:00 2001 From: Nils Wentzell Date: Thu, 6 Aug 2020 15:07:35 -0400 Subject: [PATCH] Replace travis.yml by github workflow --- .github/workflows/build.yml | 89 +++++++++++++++++++++++++++++++++++++ .travis.yml | 34 -------------- 2 files changed, 89 insertions(+), 34 deletions(-) create mode 100644 .github/workflows/build.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..8f1ad4a5 --- /dev/null +++ b/.github/workflows/build.yml @@ -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 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 7e3b6f87..00000000 --- a/.travis.yml +++ /dev/null @@ -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