Skip to content

Refresh roadmap

Refresh roadmap #104

Workflow file for this run

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