Skip to content

chore: align a bit http/2 scripted servers scenarios complexity with … #2090

chore: align a bit http/2 scripted servers scenarios complexity with …

chore: align a bit http/2 scripted servers scenarios complexity with … #2090

Workflow file for this run

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