Skip to content

Updated to Fedora 39, Clang 17, Conan 2.0.13 #113

Updated to Fedora 39, Clang 17, Conan 2.0.13

Updated to Fedora 39, Clang 17, Conan 2.0.13 #113

Workflow file for this run

name: CI Actions
on:
push:
pull_request:
release:
types: [published]
jobs:
ci:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04]
build_type: [Debug, Release]
compiler: [g++, clang++]
opts: [coverage, asan, tsan, usan, common]
exclude:
- build_type: Release
opts: coverage
- build_type: Release
opts: asan
- build_type: Release
opts: tsan
- build_type: Release
opts: usan
- build_type: Debug
opts: common
name: ${{ matrix.os }} ${{ matrix.build_type }} ${{ matrix.compiler }} ${{ matrix.opts }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Install toolset
run: |
sudo apt-get -y install software-properties-common && sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt-get -y update
sudo apt-get -y install --no-install-recommends g++-13 clang-15 clang-format-15 clang-tidy-15 lcov llvm doxygen graphviz python3-pip
sudo ln -s $(which g++-13) /usr/local/bin/g++
sudo ln -s $(which gcc-13) /usr/local/bin/gcc
sudo ln -s $(which gcov-13) /usr/local/bin/gcov
sudo ln -s $(which clang++-15) /usr/local/bin/clang++
sudo ln -s $(which clang-15 ) /usr/local/bin/clang
sudo ln -s $(which clang-tidy-15) /usr/local/bin/clang-tidy
pip install conan==2.0.11 cmake==3.27.5
- name: Conan cache
uses: actions/cache@v3
with:
path: build/.conan2
key: conan-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.compiler }}-${{ matrix.opts }}-${{ hashFiles('conanfile.py', 'scripts/conan/*') }}
- name: Conan install
run: ./scripts/conan/build.sh ${{ matrix.build_type }} ${{ matrix.compiler }} ${{ matrix.opts }} build install
- name: Conan build
run: ./scripts/conan/build.sh ${{ matrix.build_type }} ${{ matrix.compiler }} ${{ matrix.opts }} build build
- name: Upload coverage reports to Codecov
if: matrix.opts == 'coverage'
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
directory: build/coverage
name: ${{ matrix.build_type }} ${{ matrix.compiler }}