Update gitignore for graphify #165
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: | |
| name: Build and test (${{ matrix.os }}, ${{ matrix.backend }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| backend: legacy | |
| - os: macos-latest | |
| backend: legacy | |
| - os: windows-latest | |
| backend: legacy | |
| - os: ubuntu-latest | |
| backend: libmoq | |
| 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: Checkout moq5 | |
| if: matrix.backend == 'libmoq' | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: openmoq/moq5 | |
| ref: main | |
| path: third_party/moq5 | |
| - 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 [ "${{ matrix.backend }}" = "libmoq" ]; then | |
| args+=( | |
| -DOPENMOQ_USE_LIBMOQ_PUBLISHER=ON | |
| ) | |
| fi | |
| if [ -n "${OPENSSL_ROOT_DIR:-}" ]; then | |
| args+=("-DOPENSSL_ROOT_DIR=${OPENSSL_ROOT_DIR}") | |
| fi | |
| "${args[@]}" | |
| - name: Build | |
| run: cmake --build build --parallel | |
| - name: Verify static library | |
| shell: bash | |
| run: | | |
| if [ "${{ runner.os }}" = "Windows" ]; then | |
| test -f build/Debug/openmoq_publisher.lib | |
| else | |
| test -f build/libopenmoq_publisher.a | |
| fi | |
| - 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 |