Fedora/Rawhide/QuicTLS #14
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: Fedora/Rawhide/QuicTLS | |
on: | |
schedule: | |
- cron: "0 0 25 * *" | |
permissions: | |
contents: read | |
jobs: | |
build_and_test: | |
strategy: | |
matrix: | |
platform: [ | |
{ name: x64, cc: gcc, QUICTLS_EXTRA_ARGS: "", ADDLIB_ATOMIC: "", ARCH_FLAGS: "" }, | |
{ name: x64, cc: clang, QUICTLS_EXTRA_ARGS: "", ADDLIB_ATOMIC: "", ARCH_FLAGS: "" }, | |
{ name: x86, cc: gcc, QUICTLS_EXTRA_ARGS: "-m32 linux-generic32", ADDLIB_ATOMIC: "-latomic", ARCH_FLAGS: "-m32" }, | |
{ name: x86, cc: clang, QUICTLS_EXTRA_ARGS: "-m32 linux-generic32", ADDLIB_ATOMIC: "-latomic", ARCH_FLAGS: "-m32" } | |
] | |
name: ${{ matrix.platform.cc }}.${{ matrix.platform.name }} | |
runs-on: ubuntu-latest | |
if: ${{ github.repository_owner == 'haproxy' }} | |
container: | |
image: fedora:rawhide | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: | | |
dnf -y install diffutils git pcre-devel zlib-devel pcre2-devel 'perl(FindBin)' perl-IPC-Cmd 'perl(File::Copy)' 'perl(File::Compare)' lua-devel socat findutils systemd-devel clang | |
dnf -y install 'perl(FindBin)' 'perl(File::Compare)' perl-IPC-Cmd 'perl(File::Copy)' glibc-devel.i686 lua-devel.i686 lua-devel.x86_64 systemd-devel.i686 zlib-ng-compat-devel.i686 pcre-devel.i686 libatomic.i686 | |
- name: Install VTest | |
run: scripts/build-vtest.sh | |
- name: Install QuicTLS | |
run: QUICTLS=yes QUICTLS_EXTRA_ARGS="${{ matrix.platform.QUICTLS_EXTRA_ARGS }}" scripts/build-ssl.sh | |
- name: Build contrib tools | |
run: | | |
make admin/halog/halog | |
make dev/flags/flags | |
make dev/poll/poll | |
make dev/hpack/decode dev/hpack/gen-enc dev/hpack/gen-rht | |
- name: Compile HAProxy with ${{ matrix.platform.cc }} | |
run: | | |
make -j3 CC=${{ matrix.platform.cc }} V=1 ERR=1 TARGET=linux-glibc USE_OPENSSL=1 USE_QUIC=1 USE_ZLIB=1 USE_PCRE=1 USE_PCRE_JIT=1 USE_LUA=1 USE_SYSTEMD=1 ADDLIB="${{ matrix.platform.ADDLIB_ATOMIC }} -Wl,-rpath,${HOME}/opt/lib" SSL_LIB=${HOME}/opt/lib SSL_INC=${HOME}/opt/include ARCH_FLAGS="${{ matrix.platform.ARCH_FLAGS }}" | |
make install | |
- name: Show HAProxy version | |
id: show-version | |
run: | | |
echo "::group::Show dynamic libraries." | |
ldd $(command -v haproxy) | |
echo "::endgroup::" | |
haproxy -vv | |
echo "version=$(haproxy -v |awk 'NR==1{print $3}')" >> $GITHUB_OUTPUT | |
- name: Run VTest for HAProxy ${{ steps.show-version.outputs.version }} | |
id: vtest | |
run: | | |
make reg-tests VTEST_PROGRAM=../vtest/vtest REGTESTS_TYPES=default,bug,devel | |
- name: Show VTest results | |
if: ${{ failure() && steps.vtest.outcome == 'failure' }} | |
run: | | |
for folder in ${TMPDIR}/haregtests-*/vtc.*; do | |
printf "::group::" | |
cat $folder/INFO | |
cat $folder/LOG | |
echo "::endgroup::" | |
done |