diff --git a/.github/workflows/nginx-buildbot.yml b/.github/workflows/nginx-buildbot.yml index 2bcde00..d8af11e 100644 --- a/.github/workflows/nginx-buildbot.yml +++ b/.github/workflows/nginx-buildbot.yml @@ -44,9 +44,11 @@ jobs: needs: check-if-allowed strategy: matrix: - os: [ alpine-3.19, amazonlinux-2, amazonlinux-2023, debian-11, debian-12, freebsd-14, rhel-8, rhel-9, sles-12, ubuntu-20.04, ubuntu-22.04, ubuntu-24.04 ] + # os: [ alpine-3.19, amazonlinux-2, amazonlinux-2023, debian-11, debian-12, freebsd-14, rhel-8, rhel-9, sles-12, ubuntu-20.04, ubuntu-22.04, ubuntu-24.04 ] + os: [ ubuntu-22.04 ] arch: [ amd64, arm64 ] subarch: [ '' ] + asan: [ '' ] exclude: - os: freebsd-14 # we don't have an arm64 builder for freebsd-14 yet arch: arm64 @@ -56,6 +58,10 @@ jobs: - os: debian-12 arch: amd64 subarch: x86 + include: + - os: ubuntu-22.04 + arch: amd64 + asan: asan fail-fast: false steps: @@ -254,9 +260,18 @@ jobs: # abuse for 32-bit perl... NGINX_CONFIGURE_ADD_GEOIP="--with-perl=/usr/bin/perl5.36-i386-linux-gnu" NGINX_CONFIGURE_ADD_GEOIP_MODULES="--with-perl=/usr/bin/perl5.36-i386-linux-gnu" + NGINX_CONFIGURE_ADD_AUX="--with-cc-opt=-m32 --with-ld-opt=-m32" ;; esac + case "${{ matrix.asan }}" in + asan) + CC_OPT="-O1 -g -fsanitize=address -fno-omit-frame-pointer -DNJS_DEBUG_MEMORY -DNGX_DEBUG_PALLOC -DNGX_DEBUG_MALLOC -DNGX_QUIC_DEBUG_PACKETS -DNGX_QUIC_DEBUG_FRAMES -DNGX_QUIC_DEBUG_ALLOC -DNGX_QUIC_DEBUG_CRYPTO" + LD_OPT="-fsanitize=address -lcrypt" + NGINX_CONFIGURE_ADD_AUX="--with-cc-opt='-O1 -g -fsanitize=address -fno-omit-frame-pointer -DNGX_DEBUG_PALLOC -DNGX_DEBUG_MALLOC' --with-ld-opt='-fsanitize=address -lcrypt'" + ;; + esac + echo CC_OPT="$CC_OPT_ADD $CC_OPT" >> $GITHUB_ENV echo LD_OPT="$LD_OPT_ADD $LD_OPT" >> $GITHUB_ENV echo NGINX_CONFIGURE_CMD_MIN="$NGINX_CONFIGURE_CMD_MIN" >> $GITHUB_ENV @@ -268,6 +283,7 @@ jobs: echo NGINX_CONFIGURE_ADD_GEOIP="$NGINX_CONFIGURE_ADD_GEOIP" >> $GITHUB_ENV echo NGINX_CONFIGURE_ADD_GEOIP_MODULES="$NGINX_CONFIGURE_ADD_GEOIP_MODULES" >> $GITHUB_ENV echo NGINX_CONFIGURE_ADD_AIO="$NGINX_CONFIGURE_ADD_AIO" >> $GITHUB_ENV + echo NGINX_CONFIGURE_ADD_AUX="$NGINX_CONFIGURE_ADD_AUX" >> $GITHUB_ENV echo TEST_NGINX_GLOBALS_HTTP_AIO="$TEST_NGINX_GLOBALS_HTTP_AIO" >> $GITHUB_ENV case "${{ matrix.os }}" in @@ -285,13 +301,13 @@ jobs: - name: Configure and build std run: | - ./auto/configure + ./auto/configure $NGINX_CONFIGURE_ADD_AUX make -j$(nproc) -k || make make clean - name: Configure and build min run: | - $NGINX_CONFIGURE_CMD_MIN + $NGINX_CONFIGURE_CMD_MIN $NGINX_CONFIGURE_ADD_AUX make -j$(nproc) -k || make make clean