Add readme section regarding thread safety #1160
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: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 | |