chore: align a bit http/2 scripted servers scenarios complexity with … #2090
Workflow file for this run
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: Packaging | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| conan: | |
| name: Conan Package Build | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| shared: [OFF, ON] | |
| features: [ON, OFF] | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install build prereqs | |
| run: | | |
| sudo apt-get update -y | |
| sudo apt-get install -y build-essential python3-pip ninja-build cmake pkg-config git | |
| pipx install conan | |
| conan --version | |
| - name: Install all dependencies with features | |
| run: sudo apt-get install -y libssl-dev libcurl4-openssl-dev | |
| if: ${{ matrix.features == 'ON' }} | |
| - name: Conan profile detect | |
| run: | | |
| conan profile detect --force | |
| - name: Create package | |
| run: | | |
| VERSION=$(cat VERSION) | |
| conan create . --name aeronet --version "$VERSION" \ | |
| -o aeronet/*:shared=${{ matrix.shared == 'ON' && 'True' || 'False' }} \ | |
| -o aeronet/*:with_openssl=${{ matrix.features == 'ON' && 'True' || 'False' }} \ | |
| -o aeronet/*:with_spdlog=${{ matrix.features == 'ON' && 'True' || 'False' }} \ | |
| -o aeronet/*:with_zlib=${{ matrix.features == 'ON' && 'True' || 'False' }} \ | |
| -o aeronet/*:with_zstd=${{ matrix.features == 'ON' && 'True' || 'False' }} \ | |
| -o aeronet/*:with_opentelemetry=${{ matrix.features == 'ON' && 'True' || 'False' }} \ | |
| -s build_type=Release \ | |
| -s compiler.cppstd=23 \ | |
| --build=missing | |
| vcpkg: | |
| name: vcpkg Overlay Build | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| features: [ON, OFF] | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install prerequisites | |
| run: | | |
| sudo apt-get update -y | |
| sudo apt-get install -y build-essential ninja-build cmake pkg-config git | |
| - name: Install all dependencies with features | |
| run: sudo apt-get install -y libssl-dev libcurl4-openssl-dev | |
| if: ${{ matrix.features == 'ON' }} | |
| - name: Verify vcpkg port version matches VERSION | |
| run: | | |
| VER=$(tr -d ' \n\r' < VERSION) | |
| PORT_VER=$(jq -r '.["version-string"] // .version // .["version-semver"]' ports/aeronet/vcpkg.json) | |
| if [ "$VER" != "$PORT_VER" ]; then | |
| echo "::error ::Version mismatch: VERSION file=$VER vcpkg.json=$PORT_VER" | |
| exit 1 | |
| fi | |
| - name: Bootstrap vcpkg | |
| run: | | |
| ./scripts/retry.sh git clone https://github.com/microsoft/vcpkg.git | |
| ./scripts/retry.sh ./vcpkg/bootstrap-vcpkg.sh -disableMetrics | |
| - name: vcpkg install aeronet | |
| env: | |
| VCPKG_FEATURE_FLAGS: dependencygraph | |
| run: | | |
| if [ "${{ matrix.features }}" = "OFF" ]; then | |
| ./scripts/retry.sh ./vcpkg/vcpkg install aeronet --overlay-ports=./ports --triplet x64-linux | |
| else | |
| ./scripts/retry.sh ./vcpkg/vcpkg install aeronet[openssl,spdlog,brotli,zlib,zstd,opentelemetry] --overlay-ports=./ports --triplet x64-linux | |
| fi | |
| - name: Build simple consumer | |
| run: | | |
| ./scripts/retry.sh cmake -S examples/consumer-cmake -B consumer-test/build -G Ninja \ | |
| -DCMAKE_TOOLCHAIN_FILE=${GITHUB_WORKSPACE}/vcpkg/scripts/buildsystems/vcpkg.cmake \ | |
| -DCMAKE_BUILD_TYPE=Release | |
| cmake --build consumer-test/build -j | |
| ls -l consumer-test/build || true | |
| - name: Archive consumer binary | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: consumer-${{ matrix.features }} | |
| path: consumer-test/build/consumer-example | |
| if-no-files-found: error | |
| retention-days: 7 |