Skip to content

Merge pull request #250 from offa/fix_codeql #1156

Merge pull request #250 from offa/fix_codeql

Merge pull request #250 from offa/fix_codeql #1156

Workflow file for this run

name: ci
on: [push, pull_request]
jobs:
build_linux:
runs-on: ubuntu-latest
strategy:
matrix:
compiler:
- gcc:14
- gcc:13
- clang:18
- clang:17
boost:
- true
- false
container:
image: "registry.gitlab.com/offa/docker-images/${{ matrix.compiler }}"
name: "${{ matrix.compiler }} (Boost: ${{ matrix.boost }})"
steps:
- uses: actions/checkout@main
- name: Cache Conan Packages
uses: actions/cache@main
with:
path: ~/.conan2/p/
key: conan-${{ runner.os }}-${{ matrix.compiler }}-boost_${{ matrix.boost }}-${{ hashFiles('conanfile.py') }}
- name: Install dependencies
run: script/ci_setup.sh
- name: Install Boost
if: ${{ matrix.boost == true }}
run: |
add-apt-repository ppa:nicola-onorata/toolchain
apt-get update
apt-get install -y boost1.81
- name: Build
run: script/ci_build.sh -DINFLUXCXX_WITH_BOOST=${{ matrix.boost }}
- name: Check deployment as cmake subdirectory
run: script/ci_testdeploy.sh -DINFLUXCXX_AS_SUBDIR=ON -DINFLUXCXX_WITH_BOOST=${{ matrix.boost }}
- name: Install
run: cmake --install build
- name: Check installed library
run: script/ci_testdeploy.sh -DINFLUXCXX_AS_SUBDIR=OFF
build_windows:
runs-on: windows-latest
strategy:
matrix:
compiler:
- msvc
boost:
- "True"
- "False"
name: "${{ matrix.compiler }} (Boost: ${{ matrix.boost }})"
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@main
- name: Cache Conan Packages
uses: actions/cache@main
with:
path: ~/.conan2/p/
key: conan-${{ runner.os }}-${{ matrix.compiler }}-boost_${{ matrix.boost }}-${{ hashFiles('conanfile.py') }}
- name: Setup Ninja
uses: turtlesec-no/get-ninja@main
- name: Setup MSVC
uses: ilammy/msvc-dev-cmd@v1
- name: Install dependencies
run: |
pip3 install -U conan
conan profile detect
echo "tools.cmake.cmaketoolchain:generator=Ninja" >> ~/.conan2/global.conf
mkdir build
conan install -o "influxdb_cxx/*":boost=${{ matrix.boost }} -o "influxdb_cxx/*":tests=True -s compiler.cppstd=20 --build=missing . -of build
conan install --build=missing -of build --requires "libcurl/7.87.0" --deployer full_deploy
- name: Build
run: |
export CL="/ID:\a\influxdb-cxx\influxdb-cxx\build\host\libcurl\7.87.0\Release\x86_64\include"
script/ci_build.sh -DBUILD_SHARED_LIBS=OFF -DCMAKE_CXX_FLAGS_INIT=-D_WIN32_WINNT=0x0A00
- name: Install
run: cmake --build --preset conan-release --target install
build_osx:
runs-on: macOS-latest
name: "mac os x"
steps:
- uses: actions/checkout@main
- name: Cache Conan Packages
uses: actions/cache@main
with:
path: ~/.conan2/p/
key: conan-${{ runner.os }}-macos-${{ hashFiles('conanfile.py') }}
- name: Install Dependencies
run: |
export HOMEBREW_NO_AUTO_UPDATE=1
export HOMEBREW_NO_INSTALL_CLEANUP=1
brew install boost
pipx install conan
conan profile detect
mkdir build
conan install -o "influxdb_cxx/*":system=True -o "influxdb_cxx/*":tests=True -s compiler.cppstd=20 --build=missing . -of build
- name: Build
run: script/ci_build.sh
- name: Install
run: cmake --install ./build --prefix /tmp/ci_ifdb
formatting-check:
name: "formatting"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- uses: DoozyX/clang-format-lint-action@master
name: "Verify formatting"
with:
clangFormatVersion: 17