Build(deps): bump prefix-dev/setup-pixi from 0.10.0 to 0.10.2 #65
This file contains hidden or 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: | |
| branches: [main] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| quality: | |
| name: Format and static analysis | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: prefix-dev/setup-pixi@v0.10.2 | |
| with: | |
| cache: true | |
| - name: Check formatting | |
| run: pixi run format-check | |
| - name: Run clang-tidy | |
| run: pixi run tidy | |
| - name: Validate workflow configuration | |
| run: pixi run workflow-check | |
| - name: Test release publication states | |
| run: bash test/release_publish_test.sh | |
| build-and-test: | |
| name: ${{ matrix.compiler.name }} ${{ matrix.build_type }} ${{ matrix.library }} | |
| runs-on: ubuntu-24.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| compiler: | |
| - name: GCC | |
| cxx: g++ | |
| - name: Clang | |
| cxx: clang++ | |
| build_type: [Debug, Release] | |
| library: [shared, static] | |
| include: | |
| - library: shared | |
| build_shared: "ON" | |
| - library: static | |
| build_shared: "OFF" | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: prefix-dev/setup-pixi@v0.10.2 | |
| with: | |
| cache: true | |
| - name: Configure | |
| run: >- | |
| pixi run cmake -S . -B build/ci -G Ninja | |
| -DCMAKE_CXX_COMPILER=${{ matrix.compiler.cxx }} | |
| -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} | |
| -DBUILD_SHARED_LIBS=${{ matrix.build_shared }} | |
| -DBUILD_TESTING=ON | |
| - name: Build | |
| run: pixi run cmake --build build/ci | |
| - name: Test | |
| run: pixi run ctest --test-dir build/ci --output-on-failure | |
| - name: Test installed package | |
| env: | |
| NETFT_CXX_COMPILER: ${{ matrix.compiler.cxx }} | |
| run: pixi run bash test/install_test.sh ${{ matrix.library }} | |
| cmake-316: | |
| name: CMake 3.16 compatibility | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| persist-credentials: false | |
| - uses: prefix-dev/setup-pixi@v0.10.2 | |
| with: | |
| cache: true | |
| - name: Verify pinned CMake version | |
| run: pixi run -e cmake-316 cmake --version | grep -E '^cmake version 3\.16\.' | |
| - name: Test shared and static consumers | |
| run: pixi run -e cmake-316 cmake-316-test | |
| gcc-10: | |
| name: GCC 10 compatibility | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| persist-credentials: false | |
| - uses: prefix-dev/setup-pixi@v0.10.2 | |
| - name: Build and test with GCC 10 | |
| run: bash test/gcc10_compatibility_test.sh | |
| sanitizers: | |
| name: ASan and UBSan | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: prefix-dev/setup-pixi@v0.10.2 | |
| with: | |
| cache: true | |
| - name: Configure | |
| run: >- | |
| pixi run cmake -S . -B build/sanitizers -G Ninja | |
| -DCMAKE_CXX_COMPILER=clang++ | |
| -DCMAKE_BUILD_TYPE=Debug | |
| -DBUILD_SHARED_LIBS=ON | |
| -DBUILD_TESTING=ON | |
| -DNETFT_SANITIZERS=ON | |
| - name: Build | |
| run: pixi run cmake --build build/sanitizers | |
| - name: Test | |
| env: | |
| ASAN_OPTIONS: detect_leaks=1:strict_string_checks=1 | |
| UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1 | |
| run: pixi run ctest --test-dir build/sanitizers --output-on-failure | |
| arm64: | |
| name: ARM64 Release shared | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: prefix-dev/setup-pixi@v0.10.2 | |
| with: | |
| cache: true | |
| - name: Configure | |
| run: >- | |
| pixi run cmake -S . -B build/arm64 -G Ninja | |
| -DCMAKE_BUILD_TYPE=Release | |
| -DBUILD_SHARED_LIBS=ON | |
| -DBUILD_TESTING=ON | |
| - name: Build | |
| run: pixi run cmake --build build/arm64 | |
| - name: Test | |
| run: pixi run ctest --test-dir build/arm64 --output-on-failure | |
| - name: Test installed package | |
| run: pixi run shared-test | |
| macos: | |
| name: macOS Release static | |
| runs-on: macos-15 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install dependencies | |
| run: brew install curl googletest ninja | |
| - name: Configure | |
| run: >- | |
| cmake -S . -B build/macos -G Ninja | |
| -DCMAKE_BUILD_TYPE=Release | |
| -DCMAKE_PREFIX_PATH="$(brew --prefix curl);$(brew --prefix googletest)" | |
| -DBUILD_SHARED_LIBS=OFF | |
| -DBUILD_TESTING=ON | |
| - name: Build | |
| run: cmake --build build/macos | |
| - name: Test | |
| run: ctest --test-dir build/macos --output-on-failure | |
| - name: Install | |
| run: cmake --install build/macos --prefix "$RUNNER_TEMP/netft" | |
| - name: Test installed consumer | |
| run: | | |
| cmake -S test/consumer -B build/macos-consumer -G Ninja \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DCMAKE_PREFIX_PATH="$RUNNER_TEMP/netft;$(brew --prefix curl)" | |
| cmake --build build/macos-consumer | |
| ./build/macos-consumer/netft_consumer | |
| windows: | |
| name: Windows Release static | |
| runs-on: windows-2025 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install dependencies | |
| shell: pwsh | |
| run: >- | |
| vcpkg install | |
| curl:x64-windows | |
| gtest:x64-windows | |
| - name: Configure | |
| shell: pwsh | |
| run: >- | |
| cmake -S . -B build/windows | |
| "-DCMAKE_TOOLCHAIN_FILE=$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" | |
| -DVCPKG_TARGET_TRIPLET=x64-windows | |
| -DBUILD_SHARED_LIBS=OFF | |
| -DBUILD_TESTING=ON | |
| - name: Build | |
| run: cmake --build build/windows --config Release | |
| - name: Test | |
| run: ctest --test-dir build/windows -C Release --output-on-failure | |
| - name: Install | |
| shell: pwsh | |
| run: cmake --install build/windows --config Release --prefix "$env:RUNNER_TEMP/netft" | |
| - name: Test installed consumer | |
| shell: pwsh | |
| run: | | |
| cmake -S test/consumer -B build/windows-consumer ` | |
| "-DCMAKE_TOOLCHAIN_FILE=$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" ` | |
| -DVCPKG_TARGET_TRIPLET=x64-windows ` | |
| "-DCMAKE_PREFIX_PATH=$env:RUNNER_TEMP/netft" | |
| cmake --build build/windows-consumer --config Release | |
| & build/windows-consumer/Release/netft_consumer.exe |