Add embeddable publisher API and integration guide #77
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: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - master | |
| pull_request: | |
| jobs: | |
| build-and-test: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| - windows-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Checkout picoquic | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: private-octopus/picoquic | |
| ref: master | |
| path: third_party/picoquic | |
| - name: Checkout picotls | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: private-octopus/picotls | |
| ref: master | |
| path: third_party/picotls | |
| submodules: recursive | |
| - name: Show toolchain | |
| shell: bash | |
| run: | | |
| cmake --version | |
| if command -v c++ >/dev/null 2>&1; then c++ --version; fi | |
| if command -v cl >/dev/null 2>&1; then cl; fi | |
| - name: Set up Windows dependencies | |
| if: runner.os == 'Windows' | |
| shell: pwsh | |
| run: | | |
| # picotls requires pkg-config at configure time (even on Windows where | |
| # brotli is absent); install the lightweight pkgconfiglite shim. | |
| choco install pkgconfiglite --no-progress -y | |
| $candidates = @( | |
| "C:\Program Files\OpenSSL", | |
| "C:\Program Files\OpenSSL-Win64", | |
| "C:\OpenSSL-Win64" | |
| ) | |
| $opensslFound = $false | |
| foreach ($candidate in $candidates) { | |
| if (Test-Path "$candidate\include\openssl\ssl.h") { | |
| "OPENSSL_ROOT_DIR=$candidate" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
| Write-Host "OpenSSL found at $candidate" | |
| $opensslFound = $true | |
| break | |
| } | |
| } | |
| if (-not $opensslFound) { | |
| choco install openssl --no-progress -y | |
| foreach ($candidate in $candidates) { | |
| if (Test-Path "$candidate\include\openssl\ssl.h") { | |
| "OPENSSL_ROOT_DIR=$candidate" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
| Write-Host "OpenSSL installed at $candidate" | |
| break | |
| } | |
| } | |
| } | |
| - name: Configure | |
| shell: bash | |
| run: | | |
| args=( | |
| cmake -S . -B build | |
| -DCMAKE_POLICY_VERSION_MINIMUM=3.5 | |
| "-DOPENMOQ_PICOQUIC_SOURCE_DIR=${{ github.workspace }}/third_party/picoquic" | |
| "-DOPENMOQ_PICOTLS_SOURCE_DIR=${{ github.workspace }}/third_party/picotls" | |
| ) | |
| if [ -n "${OPENSSL_ROOT_DIR:-}" ]; then | |
| args+=("-DOPENSSL_ROOT_DIR=${OPENSSL_ROOT_DIR}") | |
| fi | |
| "${args[@]}" | |
| - name: Build | |
| run: cmake --build build --parallel | |
| - name: Test | |
| shell: bash | |
| run: | | |
| if [ "${{ runner.os }}" = "Windows" ]; then | |
| ctest --test-dir build -C Debug --output-on-failure | |
| else | |
| ctest --test-dir build --output-on-failure | |
| fi |