Skip to content

switch HA-proxy tests to h1load client #181

switch HA-proxy tests to h1load client

switch HA-proxy tests to h1load client #181

Workflow file for this run

name: "Test"
on:
pull_request:
workflow_dispatch:
jobs:
debian-11:
strategy:
fail-fast: false
matrix:
release: [
{
openssl-branch: "openssl-3.0",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;"',
configopts: 'no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.2",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;"',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.3",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;"',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.4",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;"',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.5",
cmakeopts: '',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.6",
cmakeopts: '',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: true,
}, {
openssl-branch: "master",
cmakeopts: '',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: true,
}
]
runs-on: "ubuntu-latest"
container: "docker.io/library/debian:11"
steps:
- name: "Install prerequisites"
run: |
apt-get update
apt-get install -y cmake gcc g++ make perl
- name: "Checkout openssl"
uses: "actions/checkout@v5"
with:
repository: "openssl/openssl"
ref: ${{ matrix.release.openssl-branch }}
fetch-depth: 1
path: "openssl"
- name: "Config openssl build"
working-directory: "./openssl"
run: |
./config ${{ matrix.release.configopts }} --prefix="$PWD/dist"
- name: "Build openssl"
working-directory: "./openssl"
run: |
make -j 4
- name: "Install openssl"
working-directory: "./openssl"
run: |
make install_sw
- name: "Checkout perftools"
uses: "actions/checkout@v5"
with:
path: "perftools"
- name: "Config perftools build with -DDEBUG"
if: ${{ matrix.release.has-ssl_poll_perf }}
working-directory: "./perftools/source"
run: |
cmake -S . -B build_debug -DOPENSSL_ROOT_DIR="$GITHUB_WORKSPACE/openssl" -DCMAKE_C_FLAGS="-DDEBUG -Werror" -Drun_add_version_dep:BOOL=OFF ${{ matrix.release.cmakeopts }}
- name: "Build ssl_poll_perf with -DDEBUG"
if: ${{ matrix.release.has-ssl_poll_perf }}
working-directory: "./perftools/source"
run: |
cmake --build build_debug --config Debug --target ssl_poll_perf -j 4 -v
- name: "Config perftools build"
working-directory: "./perftools/source"
run: |
cmake -S . -B build -DOPENSSL_ROOT_DIR="$GITHUB_WORKSPACE/openssl" -Drun_add_version_dep:BOOL=OFF ${{ matrix.release.cmakeopts }}
- name: "Build perftools"
working-directory: "./perftools/source"
run: |
cmake --build build --config Release
- name: "Print perftools version information"
working-directory: "./perftools/source"
run: |
cmake --build build --config Release --target run-version -j 4
- name: "Run perftools"
working-directory: "./perftools/source"
run: |
cmake --build build --config Release --target run -j 4
ubuntu-20-04:
strategy:
fail-fast: false
matrix:
release: [
{
openssl-branch: "openssl-3.0",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;" -D OPENSSL_VERSION=3.0',
configopts: 'no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.2",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;" -D OPENSSL_VERSION=3.2',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.3",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;" -D OPENSSL_VERSION=3.3',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.4",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;" -D OPENSSL_VERSION=3.4',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.5",
cmakeopts: '-D OPENSSL_VERSION=3.5',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.6",
cmakeopts: '-D OPENSSL_VERSION=3.6',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: true,
}, {
openssl-branch: "master",
cmakeopts: '-D OPENSSL_VERSION=4.0',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: true,
}
]
runs-on: "ubuntu-latest"
container: "docker.io/library/ubuntu:20.04"
steps:
- name: "Install prerequisites"
env:
DEBIAN_FRONTEND: "noninteractive"
run: |
apt-get update
apt-get install -y cmake gcc g++ make perl
- name: "Checkout openssl"
uses: "actions/checkout@v5"
with:
repository: "openssl/openssl"
ref: ${{ matrix.release.openssl-branch }}
fetch-depth: 1
path: "openssl"
- name: "Config openssl build"
working-directory: "./openssl"
run: |
./config ${{ matrix.release.configopts }} --prefix="$PWD/dist"
- name: "Build openssl"
working-directory: "./openssl"
run: |
make -j 4
- name: "Install openssl"
working-directory: "./openssl"
run: |
make install_sw
- name: "Checkout perftools"
uses: "actions/checkout@v5"
with:
path: "perftools"
- name: "Config perftools build with -DDEBUG"
if: ${{ matrix.release.has-ssl_poll_perf }}
working-directory: "./perftools/source"
run: |
cmake -S . -B build_debug -DOPENSSL_ROOT_DIR="$GITHUB_WORKSPACE/openssl" -DCMAKE_C_FLAGS="-DDEBUG -Werror" -Drun_add_version_dep:BOOL=OFF ${{ matrix.release.cmakeopts }}
- name: "Build ssl_poll_perf with -DDEBUG"
if: ${{ matrix.release.has-ssl_poll_perf }}
working-directory: "./perftools/source"
run: |
cmake --build build_debug --config Debug --target ssl_poll_perf -j 4 -v
- name: "Config perftools build"
working-directory: "./perftools/source"
run: |
cmake -S . -B build -DOPENSSL_ROOT_DIR="$GITHUB_WORKSPACE/openssl" -Drun_add_version_dep:BOOL=OFF ${{ matrix.release.cmakeopts }}
- name: "Build perftools"
working-directory: "./perftools/source"
run: |
cmake --build build --config Release
- name: "Print perftools version information"
working-directory: "./perftools/source"
run: |
cmake --build build --config Release --target run-version -j 4
- name: "Run perftools"
working-directory: "./perftools/source"
run: |
cmake --build build --config Release --target run -j 4
freebsd-13:
strategy:
fail-fast: false
matrix:
release: [
{
openssl-branch: "openssl-3.0",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;" -D "run_handshake_pool_size=handshake;;;-o 4"',
configopts: 'no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.2",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;" -D "run_handshake_pool_size=handshake;;;-o 4"',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.3",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;" -D "run_handshake_pool_size=handshake;;;-o 4"',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.4",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;" -D "run_handshake_pool_size=handshake;;;-o 4"',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.5",
cmakeopts: '-D "run_handshake_pool_size=handshake;;;-o 4"',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.6",
cmakeopts: '-D "run_handshake_pool_size=handshake;;;-o 4"',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: true,
}, {
openssl-branch: "master",
cmakeopts: '',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: true,
}
]
runs-on: "ubuntu-latest"
steps:
- name: "Install prerequisites"
uses: "cross-platform-actions/action@fe0167d8082ac584754ef3ffb567fded22642c7d" #v0.27.0
with:
operating_system: "freebsd"
version: "13.4"
shutdown_vm: false
run: |
sudo pkg install -y cmake gcc perl5
- name: "Checkout openssl"
uses: "actions/checkout@v5"
with:
repository: "openssl/openssl"
ref: ${{ matrix.release.openssl-branch }}
fetch-depth: 1
path: "openssl"
- name: "Config openssl build"
uses: "cross-platform-actions/action@fe0167d8082ac584754ef3ffb567fded22642c7d" #v0.27.0
with:
operating_system: "freebsd"
version: "13.4"
shutdown_vm: false
run: |
cd openssl
./config ${{ matrix.release.configopts }} --prefix="$PWD/dist"
- name: "Build openssl"
uses: "cross-platform-actions/action@fe0167d8082ac584754ef3ffb567fded22642c7d" #v0.27.0
with:
operating_system: "freebsd"
version: "13.4"
shutdown_vm: false
run: |
cd openssl
make -j 4
- name: "Install openssl"
uses: "cross-platform-actions/action@fe0167d8082ac584754ef3ffb567fded22642c7d" #v0.27.0
with:
operating_system: "freebsd"
version: "13.4"
shutdown_vm: false
run: |
cd openssl
make install_sw
- name: "Checkout perftools"
uses: "actions/checkout@v5"
with:
path: "perftools"
- name: "Config perftools build with -DDEBUG"
if: ${{ matrix.release.has-ssl_poll_perf }}
uses: "cross-platform-actions/action@fe0167d8082ac584754ef3ffb567fded22642c7d" #v0.27.0
with:
operating_system: "freebsd"
version: "13.4"
shutdown_vm: false
run: |
cd perftools/source
cmake -S . -B build_debug -DOPENSSL_ROOT_DIR="$GITHUB_WORKSPACE/openssl" -DCMAKE_C_FLAGS="-DDEBUG -Werror" -Drun_add_version_dep:BOOL=OFF ${{ matrix.release.cmakeopts }}
- name: "Build ssl_poll_perf with -DDEBUG"
if: ${{ matrix.release.has-ssl_poll_perf }}
uses: "cross-platform-actions/action@fe0167d8082ac584754ef3ffb567fded22642c7d" #v0.27.0
with:
operating_system: "freebsd"
version: "13.4"
shutdown_vm: false
run: |
cd perftools/source
cmake --build build_debug --config Debug --target ssl_poll_perf -j 4 -v
- name: "Config perftools build"
uses: "cross-platform-actions/action@fe0167d8082ac584754ef3ffb567fded22642c7d" #v0.27.0
with:
operating_system: "freebsd"
version: "13.4"
shutdown_vm: false
run: |
cd perftools/source
cmake -S . -B build -DOPENSSL_ROOT_DIR="$GITHUB_WORKSPACE/openssl" -Drun_add_version_dep:BOOL=OFF ${{ matrix.release.cmakeopts }}
- name: "Build perftools"
uses: "cross-platform-actions/action@fe0167d8082ac584754ef3ffb567fded22642c7d" #v0.27.0
with:
operating_system: "freebsd"
version: "13.4"
shutdown_vm: false
run: |
cd perftools/source
cmake --build build --config Release
- name: "Print perftools version information"
uses: "cross-platform-actions/action@fe0167d8082ac584754ef3ffb567fded22642c7d" #v0.27.0
with:
operating_system: "freebsd"
version: "13.4"
shutdown_vm: false
run: |
cd perftools/source
cmake --build build --config Release --target run-version -j 4
- name: "Run perftools"
uses: "cross-platform-actions/action@fe0167d8082ac584754ef3ffb567fded22642c7d" #v0.27.0
with:
operating_system: "freebsd"
version: "13.4"
shutdown_vm: false
run: |
cd perftools/source
cmake --build build --config Release --target run -j 4
windows:
strategy:
fail-fast: false
matrix:
release: [
{
openssl-branch: "openssl-3.0",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;"',
configopts: 'no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.2",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;"',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.3",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;"',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.4",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;"',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.5",
cmakeopts: '',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.6",
cmakeopts: '',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: true,
}, {
openssl-branch: "master",
cmakeopts: '',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: true,
}
]
runs-on: "windows-latest"
steps:
- name: "Install prerequisites"
run: |
choco install nasm
"C:\Program Files\NASM" | Out-File -FilePath "$env:GITHUB_PATH" -Append
- name: "Checkout openssl"
uses: "actions/checkout@v5"
with:
repository: "openssl/openssl"
ref: ${{ matrix.release.openssl-branch }}
fetch-depth: 1
path: "openssl"
- name: "Config openssl build"
working-directory: ".\\openssl"
shell: cmd
run: |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
perl Configure no-makedepend ${{ matrix.release.configopts }}
- name: "Build openssl"
working-directory: ".\\openssl"
shell: cmd
run: |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
nmake
- name: "Checkout perftools"
uses: "actions/checkout@v5"
with:
path: "perftools"
- name: "Config perftools build with -DDEBUG"
if: ${{ matrix.release.has-ssl_poll_perf }}
working-directory: ".\\perftools\\source"
run: |
cmake -S . -B .\build_debug -DOPENSSL_ROOT_DIR="$env:GITHUB_WORKSPACE\openssl" -DCMAKE_C_FLAGS="/DDEBUG" -Drun_add_version_dep:BOOL=OFF ${{ matrix.release.cmakeopts }}
- name: "Build ssl_poll_perf with -DDEBUG"
if: ${{ matrix.release.has-ssl_poll_perf }}
working-directory: ".\\perftools\\source"
run: |
cmake --build .\build_debug --config Debug --target ssl_poll_perf -j 4 -v
- name: "Config perftools build"
working-directory: ".\\perftools\\source"
run: |
cmake -S . -B .\build -DOPENSSL_ROOT_DIR="$env:GITHUB_WORKSPACE\openssl" -Drun_add_version_dep:BOOL=OFF ${{ matrix.release.cmakeopts }}
- name: "Build perftools"
working-directory: ".\\perftools\\source"
run: |
cmake --build .\build --config Release
- name: "Print perftools version information"
working-directory: ".\\perftools\\source"
run: |
cmake --build .\build --config Release --target run-version -j 4
- name: "Run perftools"
working-directory: ".\\perftools\\source"
run: |
cmake --build .\build --config Release --target run -j 4
macos:
strategy:
fail-fast: false
matrix:
release: [
{
openssl-branch: "openssl-3.0",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;" -D "run_handshake_pool_size=handshake;;;-o 4"',
configopts: 'no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.2",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;" -D "run_handshake_pool_size=handshake;;;-o 4"',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.3",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;" -D "run_handshake_pool_size=handshake;;;-o 4"',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.4",
cmakeopts: '-D "run_newrawkey_algos=newrawkey;-a;x25519" -D "run_evp_fetch_pqs=evp_fetch;;" -D "run_handshake_pool_size=handshake;;;-o 4"',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.5",
cmakeopts: '-D "run_handshake_pool_size=handshake;;;-o 4"',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: false,
}, {
openssl-branch: "openssl-3.6",
cmakeopts: '-D "run_handshake_pool_size=handshake;;;-o 4"',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: true,
}, {
openssl-branch: "master",
cmakeopts: '',
configopts: 'no-apps no-tests',
has-ssl_poll_perf: true,
}
]
runs-on: "macos-latest"
steps:
- name: "Checkout openssl"
uses: "actions/checkout@v5"
with:
repository: "openssl/openssl"
ref: ${{ matrix.release.openssl-branch }}
fetch-depth: 1
path: "openssl"
- name: "Config openssl build"
working-directory: "./openssl"
run: |
./config ${{ matrix.release.configopts }} --prefix="$PWD/dist"
- name: "Build openssl"
working-directory: "./openssl"
run: |
make -j 4
- name: "Install openssl"
working-directory: "./openssl"
run: |
make install_sw
- name: "Checkout perftools"
uses: "actions/checkout@v5"
with:
path: "perftools"
- name: "Config perftools build with -DDEBUG"
if: ${{ matrix.release.has-ssl_poll_perf }}
working-directory: "./perftools/source"
run: |
cmake -S . -B build_debug -DOPENSSL_ROOT_DIR="$GITHUB_WORKSPACE/openssl" -DCMAKE_C_FLAGS="-DDEBUG -Werror" -Drun_add_version_dep:BOOL=OFF ${{ matrix.release.cmakeopts }}
- name: "Build ssl_poll_perf with -DDEBUG"
if: ${{ matrix.release.has-ssl_poll_perf }}
working-directory: "./perftools/source"
run: |
cmake --build build_debug --config Debug --target ssl_poll_perf -j 4 -v
- name: "Config perftools build"
working-directory: "./perftools/source"
run: |
cmake -S . -B build -DOPENSSL_ROOT_DIR="$GITHUB_WORKSPACE/openssl" -Drun_add_version_dep:BOOL=OFF ${{ matrix.release.cmakeopts }}
- name: "Build perftools"
working-directory: "./perftools/source"
run: |
cmake --build build --config Release
- name: "Print perftools version information"
working-directory: "./perftools/source"
run: |
cmake --build build --config Release --target run-version -j 4
- name: "Run perftools"
working-directory: "./perftools/source"
run: |
cmake --build build --config Release --target run -j 4