Fedora/Rawhide/OpenSSL #23
This file contains hidden or 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/OpenSSL | |
| on: | |
| schedule: | |
| - cron: "0 0 25 * *" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| build_and_test: | |
| strategy: | |
| matrix: | |
| platform: [ | |
| { name: x64, cc: gcc, ADDLIB_ATOMIC: "", ARCH_FLAGS: "" }, | |
| { name: x64, cc: clang, ADDLIB_ATOMIC: "", ARCH_FLAGS: "" }, | |
| { name: x86, cc: gcc, ADDLIB_ATOMIC: "-latomic", ARCH_FLAGS: "-m32" }, | |
| { name: x86, cc: clang, ADDLIB_ATOMIC: "-latomic", ARCH_FLAGS: "-m32" } | |
| ] | |
| fail-fast: false | |
| name: ${{ matrix.platform.cc }}.${{ matrix.platform.name }} | |
| runs-on: ubuntu-latest | |
| if: ${{ github.repository_owner == 'haproxy' || github.event_name == 'workflow_dispatch' }} | |
| container: | |
| image: fedora:rawhide | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install dependencies | |
| run: | | |
| dnf -y install awk 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 openssl-devel.x86_64 | |
| 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 openssl-devel.i686 | |
| - uses: ./.github/actions/setup-vtest | |
| - 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 DEBUG="-DDEBUG_POOL_INTEGRITY -DDEBUG_UNIT" USE_PROMEX=1 USE_OPENSSL=1 USE_QUIC=1 USE_ZLIB=1 USE_PCRE=1 USE_PCRE_JIT=1 USE_LUA=1 ADDLIB="${{ matrix.platform.ADDLIB_ATOMIC }}" 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 | |
| # | |
| # TODO: review this workaround later | |
| - name: relax crypto policies | |
| run: | | |
| dnf -y install crypto-policies-scripts | |
| echo LEGACY > /etc/crypto-policies/config | |
| update-crypto-policies | |
| - 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:-/tmp}/haregtests-*/vtc.*; do | |
| printf "::group::" | |
| cat $folder/INFO | |
| cat $folder/LOG | |
| echo "::endgroup::" | |
| done | |
| - name: Run Unit tests | |
| id: unittests | |
| run: | | |
| make unit-tests |