Skip to content

Fix: sparse map swap #158

Fix: sparse map swap

Fix: sparse map swap #158

Workflow file for this run

name: CI
on: [pull_request]
jobs:
build:
strategy:
fail-fast: false
matrix:
config:
- name: linux-x64-clang-15
os: ubuntu-22.04
cxx: clang++-15
- name: linux-x64-clang-16-sanitize
os: ubuntu-20.04
cxx: clang++-16
cxx-flags: "-fsanitize=address,undefined"
- name: linux-x64-gcc-12
os: ubuntu-22.04
cxx: g++-12
- name: linux-x64-gcc-13-coverage
os: ubuntu-22.04
cxx: g++-13
cxx-flags: -Werror --coverage
gcov-tool: gcov-10
name: ${{matrix.config.name}}
runs-on: ${{matrix.config.os}}
steps:
# setup env
- name: Add repos for for gcc-13 and clang-16
uses: dice-group/cpp-conan-release-reusable-workflow/.github/actions/setup_apt@main
- name: Install tools
run: |
sudo apt-get install -y python3 python3-pip
- name: Get minimum cmake version
uses: lukka/[email protected]
with:
cmakeVersion: 3.24
- name: Install compiler
id: install_cc
uses: rlalik/[email protected]
with:
compiler: ${{ matrix.config.cxx }}
- name: Install mold
uses: rui314/setup-mold@v1
- name: Configure conan
uses: dice-group/cpp-conan-release-reusable-workflow/.github/actions/configure_conan@main
with:
conan-version: 2.3.1
- name: add conan user
run: |
conan remote add -f dice-group https://conan.dice-research.org/artifactory/api/conan/tentris
- name: Cache conan data
id: cache-conan
uses: actions/[email protected]
with:
path: ~/.conan2/p
key: ${{ matrix.config.os }}-${{ matrix.config.cxx }}-conan
- name: Check out sources
uses: actions/[email protected]
- name: Get dependency provider
uses: dice-group/cpp-conan-release-reusable-workflow/.github/actions/add_conan_provider@main
- name: Configure CMake
env:
CC: ${{ steps.install_cc.outputs.cc }}
CXX: ${{ steps.install_cc.outputs.cxx }}
CXXFLAGS: ${{ matrix.config.cxx-flags }}
run: cmake -B build_dir -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=conan_provider.cmake
- name: Build
working-directory: build_dir
run: cmake --build . --parallel 2
- name: Run tests
working-directory: build_dir
run: ctest --parallel 2 --verbose
#- name: Coverage
# run: |
# sudo apt-get install -y lcov
# lcov -c -b ${{github.workspace}}/include -d ${{github.workspace}}/build -o ${{github.workspace}}/coverage.info --no-external --gcov-tool ${{matrix.config.gcov-tool}}
# bash <(curl -s https://codecov.io/bash) -f ${{github.workspace}}/coverage.info
# if: ${{matrix.config.name == 'linux-x64-gcc-13-coverage'}}