634 lines
18 KiB
YAML
634 lines
18 KiB
YAML
name: CI
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
jobs:
|
|
ubuntu-22-04-static-gcc-ssl:
|
|
runs-on: ubuntu-latest
|
|
container: ubuntu:22.04
|
|
steps:
|
|
- name: Update package list
|
|
run: apt update
|
|
- name: Install git
|
|
run: apt install -y git
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Install libssl-dev
|
|
run: apt install -y libssl-dev
|
|
- name: Install cmake
|
|
run: apt install -y cmake
|
|
- name: Install build-essential
|
|
run: apt install -y build-essential
|
|
- name: "[Release g++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
cc: gcc
|
|
cxx: g++
|
|
build-type: Release
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=OFF
|
|
|
|
ubuntu-22-04-clang-static-ssl:
|
|
runs-on: ubuntu-latest
|
|
container: ubuntu:22.04
|
|
steps:
|
|
- name: Update package list
|
|
run: apt update
|
|
- name: Install git
|
|
run: apt install -y git
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Install libssl-dev
|
|
run: apt install -y libssl-dev
|
|
- name: Install cmake
|
|
run: apt install -y cmake
|
|
- name: Install build-essential
|
|
run: apt install -y build-essential
|
|
- name: Install clang
|
|
run: apt install -y clang
|
|
- name: "[Release g++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
cc: clang
|
|
cxx: clang++
|
|
build-type: Release
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=OFF
|
|
|
|
ubuntu-20-shared-gcc-ssl:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Update package list
|
|
run: sudo apt update
|
|
- name: Install libssl-dev
|
|
run: sudo apt install libssl-dev
|
|
- name: "[Release g++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
cc: gcc
|
|
cxx: g++
|
|
build-type: Release
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=ON
|
|
|
|
ubuntu-20-static-gcc-mbedtls:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Update package list
|
|
run: sudo apt update
|
|
- name: Install libmbedtls-dev
|
|
run: sudo apt install libmbedtls-dev
|
|
- name: "[Release g++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
CPR_BUILD_TESTS_SSL: OFF
|
|
CPR_FORCE_MBEDTLS_BACKEND: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
cc: gcc
|
|
cxx: g++
|
|
build-type: Release
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=OFF
|
|
|
|
ubuntu-20-shared-gcc-mbedtls:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Update package list
|
|
run: sudo apt update
|
|
- name: Install libmbedtls-dev
|
|
run: sudo apt install libmbedtls-dev
|
|
- name: "[Release g++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
CPR_BUILD_TESTS_SSL: OFF
|
|
CPR_FORCE_MBEDTLS_BACKEND: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
cc: gcc
|
|
cxx: g++
|
|
build-type: Release
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=ON
|
|
|
|
ubuntu-20-static-gcc-ssl:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Update package list
|
|
run: sudo apt update
|
|
- name: Install libssl-dev
|
|
run: sudo apt install libssl-dev
|
|
- name: "[Release g++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
cc: gcc
|
|
cxx: g++
|
|
build-type: Release
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=OFF
|
|
|
|
ubuntu-18-gcc-shared-ssl:
|
|
runs-on: ubuntu-18.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Update package list
|
|
run: sudo apt update
|
|
- name: Install libssl-dev
|
|
run: sudo apt install libssl-dev
|
|
- name: "[Release g++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
cc: gcc
|
|
cxx: g++
|
|
build-type: Release
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=ON
|
|
|
|
ubuntu-18-gcc-static-ssl:
|
|
runs-on: ubuntu-18.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Update package list
|
|
run: sudo apt update
|
|
- name: Install libssl-dev
|
|
run: sudo apt install libssl-dev
|
|
- name: "[Release g++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
cc: gcc
|
|
cxx: g++
|
|
build-type: Release
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=OFF
|
|
|
|
ubuntu-18-gcc-shared-ssl-system-curl:
|
|
runs-on: ubuntu-18.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Update package list
|
|
run: sudo apt update
|
|
- name: Install libssl-dev
|
|
run: sudo apt install libcurl4-openssl-dev
|
|
- name: "[Release g++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
configure-options: -DUSE_SYSTEM_CURL=ON -DBUILD_SHARED_LIBS=ON
|
|
cc: gcc
|
|
cxx: g++
|
|
build-type: Release
|
|
run-test: true
|
|
ctest-options: -V
|
|
|
|
ubuntu-18-gcc-static-ssl-system-curl:
|
|
runs-on: ubuntu-18.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Update package list
|
|
run: sudo apt update
|
|
- name: Install libssl-dev
|
|
run: sudo apt install libcurl4-openssl-dev
|
|
- name: "[Release g++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
configure-options: -DUSE_SYSTEM_CURL=ON -DBUILD_SHARED_LIBS=OFF
|
|
cc: gcc
|
|
cxx: g++
|
|
build-type: Release
|
|
run-test: true
|
|
ctest-options: -V
|
|
|
|
ubuntu-18-gcc-ssl-address-leak-undefined-behavior-sanitizer:
|
|
runs-on: ubuntu-18.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Update package list
|
|
run: sudo apt update
|
|
- name: Install libssl-dev
|
|
run: sudo apt install libssl-dev
|
|
- name: Install sanitizer
|
|
run: sudo apt install libasan5 libubsan1 liblsan0 libtsan0
|
|
- name: "[Release g++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
CPR_DEBUG_SANITIZER_FLAG_ALL: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
cc: gcc
|
|
cxx: g++
|
|
build-type: Debug
|
|
run-test: true
|
|
ctest-options: -V
|
|
|
|
ubuntu-18-gcc-ssl-thread-sanitizer:
|
|
runs-on: ubuntu-18.04
|
|
if: ${{ false }} # Disabled for now until all problems are resolved
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Update package list
|
|
run: sudo apt update
|
|
- name: Install libssl-dev
|
|
run: sudo apt install libssl-dev
|
|
- name: Install sanitizer
|
|
run: sudo apt install libasan5 libubsan1 liblsan0 libtsan0
|
|
- name: "[Release g++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
CPR_DEBUG_SANITIZER_FLAG_THREAD: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
cc: gcc
|
|
cxx: g++
|
|
build-type: Debug
|
|
run-test: true
|
|
ctest-options: -V
|
|
|
|
ubuntu-18-clang-shared-ssl:
|
|
runs-on: ubuntu-18.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Update package list
|
|
run: sudo apt update
|
|
- name: Install libssl-dev
|
|
run: sudo apt install libssl-dev
|
|
- name: "[Release g++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
cc: clang
|
|
cxx: clang++
|
|
build-type: Release
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=ON
|
|
|
|
ubuntu-18-clang-static-ssl:
|
|
runs-on: ubuntu-18.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Update package list
|
|
run: sudo apt update
|
|
- name: Install libssl-dev
|
|
run: sudo apt install libssl-dev
|
|
- name: "[Release g++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
cc: clang
|
|
cxx: clang++
|
|
build-type: Release
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=OFF
|
|
|
|
windows-msvc-shared-ssl:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: "[Release msvc] Build & Test"
|
|
env:
|
|
CMAKE_GENERATOR: "Visual Studio 17 2022"
|
|
CPR_BUILD_TESTS: ON
|
|
CPR_BUILD_TESTS_SSL: OFF
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
build-type: Release
|
|
target: ALL_BUILD
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=ON
|
|
|
|
windows-msvc-shared-winssl:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: "[Release msvc] Build & Test"
|
|
env:
|
|
CMAKE_GENERATOR: "Visual Studio 17 2022"
|
|
CPR_BUILD_TESTS: ON
|
|
CPR_BUILD_TESTS_SSL: OFF
|
|
CPR_FORCE_WINSSL_BACKEND: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
build-type: Release
|
|
target: ALL_BUILD
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=ON
|
|
|
|
windows-msvc-static-ssl:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: "[Release msvc] Build & Test"
|
|
env:
|
|
CMAKE_GENERATOR: "Visual Studio 17 2022"
|
|
CPR_BUILD_TESTS: ON
|
|
CPR_BUILD_TESTS_SSL: OFF
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
build-type: Release
|
|
target: ALL_BUILD
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=OFF
|
|
|
|
windows-msvc-shared-openssl:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Install OpenSSL
|
|
run: choco install openssl -y
|
|
- name: "[Release msvc] Build & Test"
|
|
env:
|
|
CMAKE_GENERATOR: "Visual Studio 17 2022"
|
|
CPR_BUILD_TESTS: ON
|
|
CPR_FORCE_OPENSSL_BACKEND: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
build-type: Release
|
|
target: ALL_BUILD
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=ON
|
|
|
|
windows-msvc-static-openssl:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Install OpenSSL
|
|
run: choco install openssl -y
|
|
- name: "[Release msvc] Build & Test"
|
|
env:
|
|
CMAKE_GENERATOR: "Visual Studio 17 2022"
|
|
CPR_BUILD_TESTS: ON
|
|
CPR_FORCE_OPENSSL_BACKEND: ON
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
build-type: Release
|
|
target: ALL_BUILD
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=OFF
|
|
|
|
macos-clang-shared-openssl:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Install OpenSSL
|
|
run: |
|
|
brew install openssl
|
|
echo 'export PATH="/usr/local/opt/openssl@3/bin:$PATH"' >> /Users/runner/.bash_profile
|
|
source ~/.bash_profile
|
|
export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
|
|
export CPPFLAGS="-I/usr/local/opt/openssl@3/include"
|
|
export PKG_CONFIG_PATH="/usr/local/opt/openssl@3/lib/pkgconfig"
|
|
- name: "[Release clang++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
CPR_BUILD_TESTS_SSL: ON
|
|
OPENSSL_ROOT_DIR: "/usr/local/opt/openssl@3"
|
|
OPENSSL_LIBRARIES: "/usr/local/opt/openssl@3/lib"
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
build-type: Release
|
|
cc: clang
|
|
cxx: clang++
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=ON
|
|
|
|
macos-clang-static-openssl:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Install OpenSSL
|
|
run: |
|
|
brew install openssl
|
|
echo 'export PATH="/usr/local/opt/openssl@3/bin:$PATH"' >> /Users/runner/.bash_profile
|
|
source ~/.bash_profile
|
|
export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
|
|
export CPPFLAGS="-I/usr/local/opt/openssl@3/include"
|
|
export PKG_CONFIG_PATH="/usr/local/opt/openssl@3/lib/pkgconfig"
|
|
- name: "[Release clang++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
CPR_BUILD_TESTS_SSL: OFF
|
|
OPENSSL_ROOT_DIR: "/usr/local/opt/openssl@3"
|
|
OPENSSL_LIBRARIES: "/usr/local/opt/openssl@3/lib"
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
build-type: Release
|
|
cc: clang
|
|
cxx: clang++
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=OFF
|
|
|
|
macos-clang-static-autossl:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: "[Release clang++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
CPR_BUILD_TESTS_SSL: OFF
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
build-type: Release
|
|
cc: clang
|
|
cxx: clang++
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=OFF
|
|
|
|
macos-clang-static-darwinssl:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: "[Release clang++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
CPR_BUILD_TESTS_SSL: OFF
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
build-type: Release
|
|
cc: clang
|
|
cxx: clang++
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=OFF -DCPR_FORCE_DARWINSSL_BACKEND=ON
|
|
|
|
macos-clang-static-autossl-boost:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: true
|
|
- name: Install Boost
|
|
run: |
|
|
brew install boost
|
|
- name: "[Release clang++] Build & Test"
|
|
env:
|
|
CPR_BUILD_TESTS: ON
|
|
CPR_BUILD_TESTS_SSL: OFF
|
|
CPR_USE_BOOST_FILESYSTEM: ON
|
|
CMAKE_OSX_DEPLOYMENT_TARGET: 10.13
|
|
uses: ashutoshvarma/action-cmake-build@master
|
|
with:
|
|
build-dir: ${{github.workspace}}/build
|
|
source-dir: ${{github.workspace}}
|
|
build-type: Release
|
|
cc: clang
|
|
cxx: clang++
|
|
run-test: true
|
|
ctest-options: -V
|
|
configure-options: -DBUILD_SHARED_LIBS=OFF
|
|
|