mirror of
https://github.com/yhirose/cpp-httplib
synced 2024-11-21 14:29:10 -07:00
65 lines
2.4 KiB
YAML
65 lines
2.4 KiB
YAML
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"
|