name: build on: push: branches: [ unstable ] pull_request: branches: [ unstable ] jobs: build: strategy: fail-fast: false matrix: include: - {os: ubuntu-20.04, cc: gcc-10, cxx: g++-10} - {os: ubuntu-20.04, cc: clang-13, cxx: clang++-13} - {os: macos-11, cc: gcc-11, cxx: g++-11} - {os: macos-11, 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 update && sudo apt-get install lsb-release wget software-properties-common && wget -O /tmp/llvm.sh https://apt.llvm.org/llvm.sh && sudo chmod +x /tmp/llvm.sh && sudo /tmp/llvm.sh 13 && sudo apt-get install clang-13 g++-10 gfortran-10 hdf5-tools libblas-dev libboost-dev libclang-13-dev libc++-13-dev libc++abi-13-dev libomp-13-dev libfftw3-dev libgfortran5 libgmp-dev libhdf5-dev liblapack-dev libopenmpi-dev openmpi-bin openmpi-common openmpi-doc python3-clang-13 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-11' run: | brew install gcc@11 llvm boost fftw hdf5 open-mpi openblas pip3 install mako numpy scipy mpi4py 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 dft_tools env: CC: ${{ matrix.cc }} CXX: ${{ matrix.cxx }} FC: gfortran-10 LIBRARY_PATH: /usr/local/opt/llvm/lib run: | source $HOME/install/share/triqs/triqsvars.sh mkdir build && cd build && cmake .. make -j2 || make -j1 VERBOSE=1 - name: Test app4triqs env: DYLD_FALLBACK_LIBRARY_PATH: /usr/local/opt/llvm/lib run: | source $HOME/install/share/triqs/triqsvars.sh cd build ctest -j2 --output-on-failure