| 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 |
| if: ${{ github.repository_owner == 'haproxy' }} |
| 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 |