3
0
mirror of https://github.com/triqs/dft_tools synced 2025-05-01 12:44:59 +02:00

Update runner images and compiler version (#16)

* [ghactions] Update runner images and compiler version
This commit is contained in:
Thomas Hahn 2024-09-30 15:34:14 -04:00 committed by Nils Wentzell
parent f63f2e4fdc
commit b246b6e25c

View File

@ -26,10 +26,10 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- {os: ubuntu-22.04, cc: gcc-12, cxx: g++-12} - {os: ubuntu-24.04, cc: gcc, cxx: g++}
- {os: ubuntu-22.04, cc: clang-15, cxx: clang++-15} - {os: ubuntu-24.04, cc: clang, cxx: clang++}
- {os: macos-12, cc: gcc-12, cxx: g++-12} - {os: macos-14, cc: gcc-14, cxx: g++-14}
- {os: macos-12, cc: clang, cxx: clang++} - {os: macos-14, cc: clang, cxx: clang++}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
@ -44,23 +44,22 @@ jobs:
ccache-${{ matrix.os }}-${{ matrix.cc }}- ccache-${{ matrix.os }}-${{ matrix.cc }}-
- name: Install ubuntu dependencies - name: Install ubuntu dependencies
if: matrix.os == 'ubuntu-22.04' if: ${{ contains(matrix.os, 'ubuntu') }}
run: > run: >
sudo apt-get update && sudo apt-get update &&
sudo apt-get install lsb-release wget software-properties-common && 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 15 &&
sudo apt-get install sudo apt-get install
ccache ccache
clang-15 clang
g++-12 g++
gfortran gfortran
hdf5-tools hdf5-tools
libblas-dev libblas-dev
libboost-dev libboost-dev
libclang-15-dev libclang-dev
libc++-15-dev libc++-dev
libc++abi-15-dev libc++abi-dev
libomp-15-dev libomp-dev
libfftw3-dev libfftw3-dev
libgfortran5 libgfortran5
libgmp-dev libgmp-dev
@ -70,7 +69,7 @@ jobs:
openmpi-bin openmpi-bin
openmpi-common openmpi-common
openmpi-doc openmpi-doc
python3-clang-15 python3-clang
python3-dev python3-dev
python3-mako python3-mako
python3-matplotlib python3-matplotlib
@ -82,23 +81,28 @@ jobs:
python3-nbsphinx python3-nbsphinx
- name: Install homebrew dependencies - name: Install homebrew dependencies
if: matrix.os == 'macos-12' if: ${{ contains(matrix.os, 'macos') }}
run: | run: |
brew install ccache gcc@12 llvm boost fftw hdf5 open-mpi openblas brew update
brew install ccache gcc llvm boost fftw hdf5 open-mpi openblas
mkdir $HOME/.venv mkdir $HOME/.venv
python3 -m venv $HOME/.venv/my_python python3 -m venv $HOME/.venv/my_python
source $HOME/.venv/my_python/bin/activate source $HOME/.venv/my_python/bin/activate
pip install mako numpy scipy mpi4py pip install mako numpy scipy mpi4py
pip install -r requirements.txt pip install -r requirements.txt
echo "VIRTUAL_ENV=$VIRTUAL_ENV" >> $GITHUB_ENV echo "VIRTUAL_ENV=$VIRTUAL_ENV" >> $GITHUB_ENV
echo "PATH=$PATH" >> $GITHUB_ENV echo "PATH=$(brew --prefix llvm)/bin:$(brew --prefix gcc)/bin:$PATH" >> $GITHUB_ENV
- name: add clang cxxflags - name: Add clang CXXFLAGS
if: ${{ contains(matrix.cxx, 'clang') }} if: ${{ contains(matrix.cxx, 'clang') }}
run: | run: |
echo "PATH=/usr/local/opt/llvm/bin:$PATH" >> $GITHUB_ENV
echo "CXXFLAGS=-stdlib=libc++" >> $GITHUB_ENV echo "CXXFLAGS=-stdlib=libc++" >> $GITHUB_ENV
- name: Add clang LDFLAGS for macos to link against brew's libc++
if: ${{ contains(matrix.os, 'macos') && contains(matrix.cxx, 'clang') }}
run: |
echo 'LDFLAGS="-L$(brew --prefix llvm)/lib/c++ -L$(brew --prefix llvm)/lib -lunwind"' >> $GITHUB_ENV
- name: Build & Install TRIQS - name: Build & Install TRIQS
env: env:
CC: ${{ matrix.cc }} CC: ${{ matrix.cc }}
@ -114,7 +118,6 @@ jobs:
env: env:
CC: ${{ matrix.cc }} CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }} CXX: ${{ matrix.cxx }}
LIBRARY_PATH: /usr/local/opt/llvm/lib
run: | run: |
source $HOME/install/share/triqs/triqsvars.sh source $HOME/install/share/triqs/triqsvars.sh
mkdir build && cd build && cmake .. mkdir build && cd build && cmake ..
@ -122,7 +125,6 @@ jobs:
- name: Test app4triqs - name: Test app4triqs
env: env:
DYLD_FALLBACK_LIBRARY_PATH: /usr/local/opt/llvm/lib
OPENBLAS_NUM_THREADS: "1" OPENBLAS_NUM_THREADS: "1"
run: | run: |
source $HOME/install/share/triqs/triqsvars.sh source $HOME/install/share/triqs/triqsvars.sh