Preparation For 1.9.8 Release #1381
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, workflow_dispatch, pull_request] # Trigger for every push as well as for every pull request. Yes, this will run stuff twice in case we create a PR from inside this repo. I'm open for better solutions, where I do not have to specify each brach individually for the 'push' trigger. | |
jobs: | |
ubuntu-clang-openssl: | |
strategy: | |
matrix: | |
container: ["ubuntu:18.04", "ubuntu:20.04", "ubuntu:22.04", "ubuntu:23.04"] | |
systemCurl: [ON, OFF] | |
buildType: [Debug, Release] | |
runs-on: ubuntu-latest | |
container: ${{ matrix.container }} | |
steps: | |
- name: Update package list | |
run: apt update | |
- name: Install Dependencies | |
run: apt install -y git libssl-dev cmake build-essential clang libcurl4-openssl-dev | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
- name: Setup cmake | |
uses: jwlawson/[email protected] | |
with: | |
cmake-version: '3.22.x' | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: "Build & Test" | |
env: | |
CPR_BUILD_TESTS: ON | |
CPR_BUILD_TESTS_SSL: ON | |
CPR_FORCE_OPENSSL_BACKEND: ON | |
USE_SYSTEM_CURL: ${{ matrix.systemCurl }} | |
uses: ashutoshvarma/action-cmake-build@master | |
with: | |
build-dir: ${{ github.workspace }}/build | |
source-dir: ${{ github.workspace }} | |
cc: clang | |
cxx: clang++ | |
build-type: ${{ matrix.buildType }} | |
run-test: true | |
ctest-options: -V | |
ubuntu-gcc-openssl: | |
strategy: | |
matrix: | |
container: ["ubuntu:18.04", "ubuntu:20.04", "ubuntu:22.04", "ubuntu:23.04"] | |
systemCurl: [ON, OFF] | |
buildType: [Debug, Release] | |
runs-on: ubuntu-latest | |
container: ${{ matrix.container }} | |
steps: | |
- name: Update package list | |
run: apt update | |
- name: Install Dependencies | |
run: apt install -y git libssl-dev cmake build-essential libcurl4-openssl-dev | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
- name: Setup cmake | |
uses: jwlawson/[email protected] | |
with: | |
cmake-version: '3.22.x' | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: "Build & Test" | |
env: | |
CPR_BUILD_TESTS: ON | |
CPR_BUILD_TESTS_SSL: ON | |
CPR_FORCE_OPENSSL_BACKEND: ON | |
USE_SYSTEM_CURL: ${{ matrix.systemCurl }} | |
uses: ashutoshvarma/action-cmake-build@master | |
with: | |
build-dir: ${{ github.workspace }}/build | |
source-dir: ${{ github.workspace }} | |
cc: gcc | |
cxx: g++ | |
build-type: ${{ matrix.buildType }} | |
run-test: true | |
ctest-options: -V | |
ubuntu-gcc-mbedtls: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Update package list | |
run: sudo apt update | |
- name: Install Dependencies | |
run: sudo apt install -y git libssl-dev libmbedtls-dev cmake build-essential | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
- name: Setup cmake | |
uses: jwlawson/[email protected] | |
with: | |
cmake-version: '3.22.x' | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: "Build & Test" | |
env: | |
CPR_BUILD_TESTS: ON | |
CPR_BUILD_TESTS_SSL: ON | |
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 | |
fedora-clang-openssl: | |
strategy: | |
matrix: | |
container: ["fedora:latest"] | |
runs-on: ubuntu-latest | |
container: ${{ matrix.container }} | |
steps: | |
- name: Update package list | |
run: dnf update -y | |
- name: Install Dependencies | |
run: dnf install -y gcc clang git gcc gdb make openssl-devel libcurl-devel cmake | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: "Build & Test" | |
env: | |
CPR_BUILD_TESTS: ON | |
CPR_BUILD_TESTS_SSL: ON | |
CPR_FORCE_OPENSSL_BACKEND: ON | |
USE_SYSTEM_CURL: OFF | |
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 | |
fedora-gcc-openssl: | |
strategy: | |
matrix: | |
container: ["fedora:latest"] | |
systemCurl: [ON, OFF] | |
buildType: [Debug, Release] | |
runs-on: ubuntu-latest | |
container: ${{ matrix.container }} | |
steps: | |
- name: Update package list | |
run: dnf update -y | |
- name: Install Dependencies | |
run: dnf install -y gcc clang git gcc gdb make openssl-devel libcurl-devel cmake | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: "Build & Test" | |
env: | |
CPR_BUILD_TESTS: ON | |
CPR_BUILD_TESTS_SSL: ON | |
CPR_FORCE_OPENSSL_BACKEND: ON | |
USE_SYSTEM_CURL: ${{ matrix.systemCurl }} | |
uses: ashutoshvarma/action-cmake-build@master | |
with: | |
build-dir: ${{ github.workspace }}/build | |
source-dir: ${{ github.workspace }} | |
cc: gcc | |
cxx: g++ | |
build-type: ${{ matrix.buildType }} | |
run-test: true | |
ctest-options: -V | |
fedora-gcc-ssl-sanitizer: | |
strategy: | |
matrix: | |
buildType: [UdefSan, LeakSan, AddrSan] # ThreadSan is disabled for now until all problems are resolved: https://github.com/libcpr/cpr/issues/451 | |
runs-on: ubuntu-latest | |
container: "fedora:latest" # Use fedora for an up to date version of all sanitizers | |
steps: | |
- name: Update package list | |
run: dnf update -y | |
- name: Install Dependencies | |
run: dnf install -y gcc clang git gcc gdb make openssl-devel libasan libubsan liblsan libtsan cmake | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: "Build & Test" | |
env: | |
CPR_BUILD_TESTS: ON | |
CPR_BUILD_TESTS_SSL: ON | |
uses: ashutoshvarma/action-cmake-build@master | |
with: | |
build-dir: ${{ github.workspace }}/build | |
source-dir: ${{ github.workspace }} | |
cc: gcc | |
cxx: g++ | |
build-type: ${{ matrix.buildType }} | |
run-test: true | |
ctest-options: -V | |
windows-msvc-ssl: | |
strategy: | |
matrix: | |
buildType: [Debug, Release] | |
runs-on: windows-latest | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: "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: ${{ matrix.buildType }} | |
run-test: true | |
ctest-options: -V | |
windows-msvc-openssl: | |
runs-on: windows-latest | |
steps: | |
- name: Install OpenSSL | |
run: choco install openssl -y | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: "Build & Test" | |
env: | |
CMAKE_GENERATOR: "Visual Studio 17 2022" | |
CPR_BUILD_TESTS: ON | |
CPR_BUILD_TESTS_SSL: 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 | |
run-test: true | |
ctest-options: -V | |
macos-clang-openssl: | |
runs-on: macos-latest | |
steps: | |
- 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: Checkout | |
uses: actions/[email protected] | |
- name: "Build & Test" | |
env: | |
CPR_BUILD_TESTS: ON | |
CPR_BUILD_TESTS_SSL: ON | |
CPR_FORCE_OPENSSL_BACKEND: 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 }} | |
cc: clang | |
cxx: clang++ | |
build-type: Release | |
run-test: true | |
ctest-options: -V | |
macos-clang-ssl: | |
strategy: | |
matrix: | |
buildType: [Debug, Release] | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: "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 }} | |
cc: clang | |
cxx: clang++ | |
build-type: ${{ matrix.buildType }} | |
run-test: true | |
ctest-options: -V | |
macos-clang-darwinssl: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: "Build & Test" | |
env: | |
CPR_BUILD_TESTS: ON | |
CPR_BUILD_TESTS_SSL: OFF | |
CPR_FORCE_DARWINSSL_BACKEND: 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 | |
macos-clang-openssl-boost: | |
runs-on: macos-latest | |
steps: | |
- name: Install Boost | |
run: brew install boost | |
- name: Install OpenSSL | |
run: | | |
brew install openssl | |
echo 'export PATH="/usr/local/opt/openssl@3/bin:$PATH"' >> /Users/runner/.bash_profile | |
source ~/.bash_profile | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: "Build & Test" | |
env: | |
CPR_BUILD_TESTS: ON | |
CPR_BUILD_TESTS_SSL: OFF | |
CPR_USE_BOOST_FILESYSTEM: ON | |
CPR_FORCE_OPENSSL_BACKEND: ON | |
OPENSSL_ROOT_DIR: "/usr/local/opt/openssl@3" | |
OPENSSL_LIBRARIES: "/usr/local/opt/openssl@3/lib" | |
LDFLAGS: "-L/usr/local/opt/openssl@3/lib" | |
CPPFLAGS: "-I/usr/local/opt/openssl@3/include" | |
PKG_CONFIG_PATH: "/usr/local/opt/openssl@3/lib/pkgconfig" | |
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 |