Skip to content

Start refactoring file data reader #414

Start refactoring file data reader

Start refactoring file data reader #414

Workflow file for this run

name: Build
on:
push:
branches:
- master
pull_request:
jobs:
build:
strategy:
matrix:
platform: [ubuntu-latest, windows-latest, macos-13]
compiler: [msvc, gcc, llvm]
config: [debug, release]
exclude:
- platform: windows-latest
compiler: gcc
- platform: windows-latest
compiler: llvm
- platform: ubuntu-latest
compiler: msvc
# Re-enable after llvm-19
- platform: ubuntu-latest
compiler: llvm
- platform: macos-13
compiler: msvc
- platform: macos-13
compiler: gcc
runs-on: ${{matrix.platform}}
steps:
- uses: actions/checkout@v4
with:
submodules: "true"
- uses: lukka/get-cmake@latest
- name: Run vcpkg
uses: lukka/run-vcpkg@v11
- name: Set gcc
run: |
# Temporary until gcc-14 is officialy released and available on the runner
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ noble main universe"
sudo apt update
sudo apt install gcc-14 g++-14
echo "CC=gcc-14" >> $GITHUB_ENV
echo "CXX=g++-14" >> $GITHUB_ENV
shell: bash
if: matrix.platform == 'ubuntu-latest' && matrix.compiler == 'gcc'
- name: Set llvm (Ubuntu)
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 18
sudo apt install libc++-18-dev
echo "CC=clang-18" >> $GITHUB_ENV
echo "CXX=clang++-18" >> $GITHUB_ENV
shell: bash
if: matrix.platform == 'ubuntu-latest' && matrix.compiler == 'llvm'
- name: Set llvm (MacOS)
run: |
brew update
# Temporary fix, see https://github.com/actions/setup-python/issues/577
rm /usr/local/bin/2to3 || true
rm /usr/local/bin/idle3 || true
rm /usr/local/bin/pydoc3 || true
rm /usr/local/bin/python3 || true
rm /usr/local/bin/python3-config || true
brew install llvm
echo "CC=/usr/local/opt/llvm/bin/clang" >> $GITHUB_ENV
echo "CXX=/usr/local/opt/llvm/bin/clang++" >> $GITHUB_ENV
shell: bash
if: matrix.platform == 'macos-13'
- name: Build
uses: lukka/run-cmake@v10
with:
configurePreset: "tests"
buildPreset: "${{matrix.config}}-tests"
- name: Run tests
uses: lukka/run-cmake@v10
with:
configurePreset: "tests"
testPreset: "run-${{matrix.config}}-tests"
if: matrix.config == 'release'