name: build on: push: branches: [ unstable ] pull_request: branches: [ unstable ] jobs: build: strategy: fail-fast: false matrix: include: - {os: ubuntu-22.04, cc: gcc-12, cxx: g++-12} - {os: ubuntu-22.04, cc: clang-15, cxx: clang++-15} - {os: macos-12, cc: gcc-12, cxx: g++-12} - {os: macos-12, 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-22.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-15 g++-12 gfortran-12 hdf5-tools libblas-dev libboost-dev libclang-15-dev libc++-15-dev libc++abi-15-dev libomp-15-dev libfftw3-dev libgfortran5 libgmp-dev libhdf5-dev liblapack-dev libopenmpi-dev openmpi-bin openmpi-common openmpi-doc python3-clang-15 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-12' run: | brew install gcc@12 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-12 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