mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-22 20:32:12 +00:00
88c151f9ca
ARCH_FLAGS was always present and is documented as being fed to both CC and LD during the build. This is meant for options that need to be consistent between the two stages such as -pg, -flto, -fsanitize=address, -m64, -g etc. Its doc was lacking a bit of clarity though, and it was not enumerated in the makefile's variables list. ARCH however was only documented as affecting ARCH_FLAGS, and was just never used as the only two really usable and supported ARCH_FLAGS options were -m32 and -m64. In addition it was even written in the makefile that it was CPU that was affecting the ARCH_FLAGS. Let's just drop ARCH and improve the documentation on ARCH_FLAGS. Again, if ARCH is set, a warning is emitted explaining how to proceed. ARCH_FLAGS is now preset to -g so that we finally have a correct place to deal with such debugging options that need to be passed to both stages. The fedora and musl CI workflows were updated to also use it instead of sticking to duplicate DEBUG_CFLAGS+LDFLAGS. It's also worth noting that BUILD_ARCH was being passed to the build process and never used anywhere in the code, so its removal will not be noticed.
66 lines
2.8 KiB
YAML
66 lines
2.8 KiB
YAML
name: Fedora/Rawhide/QuicTLS
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 0 25 * *"
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
build_and_test:
|
|
strategy:
|
|
matrix:
|
|
platform: [
|
|
{ name: x64, cc: gcc, QUICTLS_EXTRA_ARGS: "", ADDLIB_ATOMIC: "", ARCH_FLAGS: "" },
|
|
{ name: x64, cc: clang, QUICTLS_EXTRA_ARGS: "", ADDLIB_ATOMIC: "", ARCH_FLAGS: "" },
|
|
{ name: x86, cc: gcc, QUICTLS_EXTRA_ARGS: "-m32 linux-generic32", ADDLIB_ATOMIC: "-latomic", ARCH_FLAGS: "-m32" },
|
|
{ name: x86, cc: clang, QUICTLS_EXTRA_ARGS: "-m32 linux-generic32", ADDLIB_ATOMIC: "-latomic", ARCH_FLAGS: "-m32" }
|
|
]
|
|
name: ${{ matrix.platform.cc }}.${{ matrix.platform.name }}
|
|
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 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
|
|
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
|
|
- name: Install VTest
|
|
run: scripts/build-vtest.sh
|
|
- name: Install QuicTLS
|
|
run: QUICTLS=yes QUICTLS_EXTRA_ARGS="${{ matrix.platform.QUICTLS_EXTRA_ARGS }}" 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.platform.cc }}
|
|
run: |
|
|
make -j3 CC=${{ matrix.platform.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="${{ matrix.platform.ADDLIB_ATOMIC }} -Wl,-rpath,${HOME}/opt/lib" SSL_LIB=${HOME}/opt/lib SSL_INC=${HOME}/opt/include 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
|
|
- 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
|