Merge pull request #238 from offa/catch_update #1109
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: [push, pull_request] | |
jobs: | |
build_linux: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
compiler: | |
- gcc:13 | |
- gcc:12 | |
- 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 --build build --target install | |
- 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 | |
pip3 install -U conan | |
brew install boost | |
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 --build build --target install | |
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: 16 | |