From: Ilya Shipitsin Date: Sat, 8 Apr 2023 11:30:42 +0000 (+0200) Subject: CI: enable monthly test on Fedora Rawhide X-Git-Tag: v2.8-dev8~164 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ea5a5e6feba75632d0140d5c41b5a74ea00ea8cf;p=thirdparty%2Fhaproxy.git 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. --- 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