name: Fedora/Rawhide/QuicTLS on: schedule: - cron: "0 0 25 * *" permissions: contents: read jobs: build_and_test: strategy: matrix: cc: [ gcc, clang ] name: ${{ matrix.cc }} runs-on: ubuntu-latest container: image: fedora:rawhide steps: - uses: actions/checkout@v4 - name: Install dependencies run: | dnf -y install 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 - name: Install VTest run: scripts/build-vtest.sh - name: Install QuicTLS run: QUICTLS=yes 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.cc }} run: | make -j3 CC=${{ matrix.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="-Wl,-rpath,${HOME}/opt/lib" SSL_LIB=${HOME}/opt/lib SSL_INC=${HOME}/opt/include 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