| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- name: test
- on: [push, pull_request]
- jobs:
- ubuntu:
- runs-on: ubuntu-latest
- steps:
- - name: checkout
- uses: actions/checkout@v4
- - name: install libraries
- run: sudo apt-get update && sudo apt-get install -y libbrotli-dev libcurl4-openssl-dev
- - name: build and run tests
- run: cd test && make
- - name: run fuzz test target
- run: cd test && make fuzz_test
- macos:
- runs-on: macos-latest
- steps:
- - name: checkout
- uses: actions/checkout@v4
- - name: build and run tests
- run: cd test && make
- - name: run fuzz test target
- run: cd test && make fuzz_test
- windows:
- runs-on: windows-latest
- steps:
- - name: Prepare Git for Checkout on Windows
- run: |
- git config --global core.autocrlf false
- git config --global core.eol lf
- - name: Checkout
- uses: actions/checkout@v4
- - name: Export GitHub Actions cache environment variables
- uses: actions/github-script@v7
- with:
- script: |
- core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
- core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- - name: Setup msbuild on windows
- uses: microsoft/setup-msbuild@v2
- - name: Install libraries
- run: |
- vcpkg install gtest curl zlib brotli
- choco install openssl
- - name: Configure CMake with SSL
- run: cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=${{ env.VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake -DHTTPLIB_TEST=ON -DHTTPLIB_REQUIRE_OPENSSL=ON -DHTTPLIB_REQUIRE_ZLIB=ON -DHTTPLIB_REQUIRE_BROTLI=ON
- - name: Build with with SSL
- run: cmake --build build --config Release
- - name: Run tests with SSL
- run: ctest --output-on-failure --test-dir build -C Release
- - name: Configure CMake without SSL
- run: cmake -B build-no-ssl -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=${{ env.VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake -DHTTPLIB_TEST=ON -DHTTPLIB_REQUIRE_OPENSSL=ON -DHTTPLIB_REQUIRE_ZLIB=ON -DHTTPLIB_REQUIRE_BROTLI=ON
- - name: Build without SSL
- run: cmake --build build-no-ssl --config Release
- - name: Run tests without SSL
- run: ctest --output-on-failure --test-dir build-no-ssl -C Release
- env:
- VCPKG_ROOT: "C:/vcpkg"
- VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
|