gd-tools/cpr-1.10.5/.github/workflows/ci.yml
2024-02-07 16:32:30 -04:00

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