mirror of
http://git.haproxy.org/git/haproxy.git
synced 2026-02-10 01:33:41 +02:00
tracking bleeding edge changes with some rare platforms or modern compilers on scheduled basis is not what usually forks do. let's skip by default in forks, if some fork is interested, it might be enabled locally
60 lines
2.0 KiB
YAML
60 lines
2.0 KiB
YAML
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
|