From ea5a5e6feba75632d0140d5c41b5a74ea00ea8cf Mon Sep 17 00:00:00 2001 From: Ilya Shipitsin Date: Sat, 8 Apr 2023 13:30:42 +0200 Subject: [PATCH] CI: enable monthly test on Fedora Rawhide Fedora Rawhide is shipped with the most recent compilers, not yet released with more conservative distro. It is good to catch compile errors on those compilers. --- .github/workflows/fedora-rawhide.yml | 61 ++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/fedora-rawhide.yml diff --git a/.github/workflows/fedora-rawhide.yml b/.github/workflows/fedora-rawhide.yml new file mode 100644 index 0000000000..36ab7c1416 --- /dev/null +++ b/.github/workflows/fedora-rawhide.yml @@ -0,0 +1,61 @@ +name: Fedora/Rawhide/QuicTLS + +on: + schedule: + - cron: "0 0 25 * *" + +permissions: + contents: read + +jobs: + build_and_test: + strategy: + matrix: + cc: [ gcc +# ,clang # commented due to https://github.com/haproxy/haproxy/issues/1868 + ] + name: ${{ matrix.cc }} + runs-on: ubuntu-latest + container: + image: fedora:rawhide + steps: + - uses: actions/checkout@v3 + - name: Install dependencies + run: | + dnf -y groupinstall 'C Development Tools and Libraries' 'Development Tools' + dnf -y install 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