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