Skip to content

feat(http): limit request-line length (#33) #101

feat(http): limit request-line length (#33)

feat(http): limit request-line length (#33) #101

name: Windows ClangCL
on:
push:
branches: ["main", "feature/*"]
paths-ignore: ["**/*.md", "docs/**"]
pull_request:
branches: ["main"]
paths-ignore: ["**/*.md", "docs/**"]
workflow_dispatch:
jobs:
build:
name: Build & Test (${{ matrix.tls.name }})
runs-on: windows-latest
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
build_type: [Debug]
std: [23]
tls:
- name: No TLS
cmake_arg: ""
build_dir: build-no-tls
use_vcpkg: false
- name: wolfSSL
cmake_arg: "-DAERO_TLS_BACKEND=wolfssl"
build_dir: build-wolfssl
use_vcpkg: true
env:
VCPKG_DEFAULT_TRIPLET: x64-windows
steps:
- uses: actions/checkout@v6
- name: Setup MSVC environment
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x64
- name: Setup vcpkg
if: matrix.tls.use_vcpkg
uses: lukka/run-vcpkg@v11
with:
vcpkgGitCommitId: 29f10019c26142cc4689b53b8c91da519db09e5c
- name: Install wolfSSL (vcpkg)
if: matrix.tls.use_vcpkg
run: |
& "$env:VCPKG_ROOT\vcpkg.exe" install "wolfssl[asio]" --triplet "$env:VCPKG_DEFAULT_TRIPLET"
- name: Configure CMake
shell: pwsh
run: |
$vcpkgCmakeArgs = @()
if ("${{ matrix.tls.use_vcpkg }}" -eq "true") {
$vcpkgCmakeArgs += "-DCMAKE_TOOLCHAIN_FILE=$env:VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"
$vcpkgCmakeArgs += "-DVCPKG_TARGET_TRIPLET=$env:VCPKG_DEFAULT_TRIPLET"
}
cmake -B "${{ github.workspace }}/${{ matrix.tls.build_dir }}" `
-DCMAKE_CXX_STANDARD=${{ matrix.std }} `
-DCMAKE_CXX_STANDARD_REQUIRED=ON `
-DCMAKE_CXX_EXTENSIONS=OFF `
-A x64 `
-T ClangCL `
${{ matrix.tls.cmake_arg }} `
$vcpkgCmakeArgs
- name: Build
run: cmake --build "${{ github.workspace }}/${{ matrix.tls.build_dir }}" --config ${{ matrix.build_type }} --parallel
- name: Test
working-directory: ${{ github.workspace }}/${{ matrix.tls.build_dir }}
run: ctest --output-on-failure --timeout 30 -C ${{ matrix.build_type }}