Skip to content

Attempt to fix the workflow #2

Attempt to fix the workflow

Attempt to fix the workflow #2

name: buildbot

Check failure on line 1 in .github/workflows/nginx-buildbot.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/nginx-buildbot.yml

Invalid workflow file

Invalid type for `job.strategy`
on:
workflow_call:
env:
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
defaults:
run:
shell: 'bash -Eeo pipefail -x {0}'
jobs:
check-if-allowed:
if: ${{ ( github.repository_owner == 'nginx' || github.repository_owner == 'nginxinc' ) }}
runs-on: [ ubuntu-latest ]
steps:
- name: Check if we're in the allowed environment
run: |
org_found=0
event_found=0
ref_found=0
ALLOWED_ORGS="nginx nginxinc"
ALLOWED_EVENTS="push"
ALLOWED_REFS="refs/heads/main refs/heads/master"
for org in $ALLOWED_ORGS; do
if [ "$org" == "$GITHUB_REPOSITORY_OWNER" ]; then org_found=1; fi
done
for event in $ALLOWED_EVENTS; do
if [ "$event" == "$GITHUB_EVENT_NAME" ]; then event_found=1; fi
done
for ref in $ALLOWED_REFS; do
if [ "$ref" == "$GITHUB_REF" ]; then ref_found=1; fi
done
if [ $org_found$event_found$ref_found -ne 111 ]; then
echo "Repository owner, event, or ref are not explicitely allowed to use this workflow: $GITHUB_REPOSITORY_OWNER, $GITHUB_EVENT_NAME, $GITHUB_REF"
exit 1
fi
exit 0
test:
name: ${{ matrix.os }}, ${{ matrix.subarch != '' && matrix.subarch || matrix.arch }}
runs-on: [ "${{ matrix.os }}-${{ matrix.arch }}" ]
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: [ ubuntu-22.04, freebsd-14, sles-12 ]
arch: [ amd64, arm64 ]
subarch: [ '' ]
asan: [ '' ]
exclude:
- os: freebsd-14 # we don't have an arm64 builder for freebsd-14 yet
arch: arm64
- os: sles-12 # we don't have an arm64 for SLES 12
arch: arm64
include:
- os: debian-12
arch: amd64
subarch: x86
include:
- os: ubuntu-22.04
arch: amd64
asan: asan
fail-fast: false
steps:
- name: checkout v3
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
if: ${{ matrix.os == 'amazonlinux-2' || matrix.os == 'sles-12' }}
- name: checkout v4
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
if: ${{ matrix.os != 'amazonlinux-2' && matrix.os != 'sles-12' }}
- name: Set the defaults and set up environment
run: |
ENV_JSON=$(cat <<EOF
{
"alpine-3.19": {
"CC_OPT": "$(. /usr/share/abuild/default.conf; echo $CFLAGS)",
"LD_OPT": "$(. /usr/share/abuild/default.conf; echo $LDFLAGS)"
},
"amazonlinux-2": {
"CC_OPT": "$(rpm --eval %{optflags}) $(pcre2-config --cflags) -fPIC",
"LD_OPT": "-Wl,-z,relro -Wl,-z,now"
},
"amazonlinux-2023": {
"CC_OPT": "$(rpm --eval %{optflags}) $(pcre2-config --cflags) -fPIC",
"LD_OPT": "-Wl,-z,relro -Wl,-z,now"
},
"debian-11": {
"CC_OPT": "$(DEB_BUILD_MAINT_OPTIONS=hardening=+all DEB_CFLAGS_MAINT_APPEND=-fPIC DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed dpkg-buildflags --get CFLAGS)",
"LD_OPT": "$(DEB_BUILD_MAINT_OPTIONS=hardening=+all DEB_CFLAGS_MAINT_APPEND=-fPIC DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed dpkg-buildflags --get LDFLAGS)"
},
"debian-12": {
"CC_OPT": "$(DEB_BUILD_MAINT_OPTIONS=hardening=+all DEB_CFLAGS_MAINT_APPEND=-fPIC DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed dpkg-buildflags --get CFLAGS)",
"LD_OPT": "$(DEB_BUILD_MAINT_OPTIONS=hardening=+all DEB_CFLAGS_MAINT_APPEND=-fPIC DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed dpkg-buildflags --get LDFLAGS)"
},
"freebsd-14": {
"CC_OPT": "-I/usr/local/include -Wno-compound-token-split-by-macro",
"LD_OPT": "-L/usr/local/lib -Wl,-z,relro -Wl,-z,now"
},
"rhel-8": {
"CC_OPT": "$(rpm --eval %{optflags}) $(pcre2-config --cflags) -fPIC",
"LD_OPT": "-Wl,-z,relro -Wl,-z,now"
},
"rhel-9": {
"CC_OPT": "$(rpm --eval %{optflags}) $(pcre2-config --cflags) -fPIC",
"LD_OPT": "-Wl,-z,relro -Wl,-z,now"
},
"sles-12": {
"CC_OPT": "$(rpm --eval %{optflags}) $(pcre2-config --cflags) -fPIC",
"LD_OPT": "-Wl,-z,relro -Wl,-z,now"
},
"ubuntu-20.04": {
"CC_OPT": "$(DEB_BUILD_MAINT_OPTIONS=hardening=+all DEB_CFLAGS_MAINT_APPEND=-fPIC DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed dpkg-buildflags --get CFLAGS)",
"LD_OPT": "$(DEB_BUILD_MAINT_OPTIONS=hardening=+all DEB_CFLAGS_MAINT_APPEND=-fPIC DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed dpkg-buildflags --get LDFLAGS)"
},
"ubuntu-22.04": {
"CC_OPT": "$(DEB_BUILD_MAINT_OPTIONS=hardening=+all DEB_CFLAGS_MAINT_APPEND=-fPIC DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed dpkg-buildflags --get CFLAGS)",
"LD_OPT": "$(DEB_BUILD_MAINT_OPTIONS=hardening=+all DEB_CFLAGS_MAINT_APPEND=-fPIC DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed dpkg-buildflags --get LDFLAGS)"
},
"ubuntu-24.04": {
"CC_OPT": "$(DEB_BUILD_MAINT_OPTIONS=hardening=+all DEB_CFLAGS_MAINT_APPEND=-fPIC DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed dpkg-buildflags --get CFLAGS)",
"LD_OPT": "$(DEB_BUILD_MAINT_OPTIONS=hardening=+all DEB_CFLAGS_MAINT_APPEND=-fPIC DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed dpkg-buildflags --get LDFLAGS)"
},
"NGINX_CONFIGURE_CMD_MIN": "auto/configure \
--without-http_charset_module \
--without-http_gzip_module \
--without-http_ssi_module \
--without-http_userid_module \
--without-http_access_module \
--without-http_auth_basic_module \
--without-http_mirror_module \
--without-http_autoindex_module \
--without-http_geo_module \
--without-http_map_module \
--without-http_split_clients_module \
--without-http_referer_module \
--without-http_rewrite_module \
--without-http_proxy_module \
--without-http_fastcgi_module \
--without-http_uwsgi_module \
--without-http_scgi_module \
--without-http_memcached_module \
--without-http-cache \
--without-http_limit_conn_module \
--without-http_limit_req_module \
--without-http_empty_gif_module \
--without-http_browser_module \
--without-http_upstream_hash_module \
--without-http_upstream_ip_hash_module \
--without-http_upstream_least_conn_module \
--without-http_upstream_random_module \
--without-http_upstream_keepalive_module \
--without-http_upstream_zone_module \
--with-mail \
--without-mail_imap_module \
--without-mail_pop3_module \
--without-mail_smtp_module \
--with-stream \
--without-stream_limit_conn_module \
--without-stream_access_module \
--without-stream_geo_module \
--without-stream_map_module \
--without-stream_split_clients_module \
--without-stream_return_module \
--without-stream_set_module \
--without-stream_upstream_hash_module \
--without-stream_upstream_least_conn_module \
--without-stream_upstream_random_module \
--without-stream_upstream_zone_module",
"NGINX_CONFIGURE_CMD_COMMON": "auto/configure \
--prefix=/tmp \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-mail \
--with-mail_ssl_module \
--with-select_module \
--with-poll_module \
--with-http_auth_request_module \
--with-http_v2_module \
--with-http_slice_module \
--with-stream \
--with-stream_ssl_module \
--with-stream_ssl_preread_module \
--with-stream_realip_module \
--with-threads \
--with-compat",
"NGINX_CONFIGURE_ADD_STD_COMMON": "--with-cpp_test_module",
"NGINX_CONFIGURE_ADD_STD": "--with-http_perl_module \
--with-http_xslt_module \
--with-http_image_filter_module",
"NGINX_CONFIGURE_ADD_STD_MODULES": "--with-http_perl_module=dynamic \
--with-http_xslt_module=dynamic \
--with-http_image_filter_module=dynamic",
"NGINX_CONFIGURE_ADD_COMMON": "--with-http_degradation_module \
--with-http_v3_module",
"NGINX_CONFIGURE_ADD_GEOIP": "--with-http_geoip_module \
--with-stream_geoip_module",
"NGINX_CONFIGURE_ADD_GEOIP_MODULES": "--with-http_geoip_module=dynamic \
--with-stream_geoip_module=dynamic",
"NGINX_CONFIGURE_ADD_AIO": "--with-file-aio",
"TEST_NGINX_GLOBALS_HTTP_AIO": "aio on; directio 0; tcp_nopush on;"
}
EOF
)
CC_OPT=$(echo $ENV_JSON | jq -r '."${{ matrix.os }}".CC_OPT')
LD_OPT=$(echo $ENV_JSON | jq -r '."${{ matrix.os }}".LD_OPT')
CC_OPT_ADD=""
LD_OPT_ADD=""
NGINX_CONFIGURE_CMD_MIN=$(echo $ENV_JSON | jq -r '.NGINX_CONFIGURE_CMD_MIN')
NGINX_CONFIGURE_CMD_COMMON=$(echo $ENV_JSON | jq -r '.NGINX_CONFIGURE_CMD_COMMON')
NGINX_CONFIGURE_ADD_STD_COMMON=$(echo $ENV_JSON | jq -r '.NGINX_CONFIGURE_ADD_STD_COMMON')
NGINX_CONFIGURE_ADD_STD=$(echo $ENV_JSON | jq -r '.NGINX_CONFIGURE_ADD_STD')
NGINX_CONFIGURE_ADD_STD_MODULES=$(echo $ENV_JSON | jq -r '.NGINX_CONFIGURE_ADD_STD_MODULES')
NGINX_CONFIGURE_ADD_COMMON=$(echo $ENV_JSON | jq -r '.NGINX_CONFIGURE_ADD_COMMON')
NGINX_CONFIGURE_ADD_GEOIP=$(echo $ENV_JSON | jq -r '.NGINX_CONFIGURE_ADD_GEOIP')
NGINX_CONFIGURE_ADD_GEOIP_MODULES=$(echo $ENV_JSON | jq -r '.NGINX_CONFIGURE_ADD_GEOIP_MODULES')
NGINX_CONFIGURE_ADD_AIO=$(echo $ENV_JSON | jq -r '.NGINX_CONFIGURE_ADD_AIO')
TEST_NGINX_GLOBALS_HTTP_AIO=$(echo $ENV_JSON | jq -r '.TEST_NGINX_GLOBALS_HTTP_AIO')
# per-target hacks
case "${{ matrix.os }}" in
amazonlinux-2023)
NGINX_CONFIGURE_ADD_GEOIP=""
NGINX_CONFIGURE_ADD_GEOIP_MODULES=""
TEST_NGINX_GLOBALS_HTTP_AIO=""
;;
freebsd-*)
NGINX_CONFIGURE_ADD_GEOIP=""
NGINX_CONFIGURE_ADD_GEOIP_MODULES=""
TEST_NGINX_GLOBALS_HTTP_AIO="aio on; sendfile on; tcp_nopush on;"
;;
rhel-*)
NGINX_CONFIGURE_ADD_GEOIP=""
NGINX_CONFIGURE_ADD_GEOIP_MODULES=""
;;
sles-*)
NGINX_CONFIGURE_ADD_COMMON=${NGINX_CONFIGURE_ADD_COMMON%%--with-http_v3_module}
;;
esac
case "${{ matrix.subarch }}" in
x86)
CC_OPT_ADD="-m32"
LD_OPT_ADD="-m32"
# 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
echo NGINX_CONFIGURE_CMD_COMMON="$NGINX_CONFIGURE_CMD_COMMON" >> $GITHUB_ENV
echo NGINX_CONFIGURE_ADD_COMMON="$NGINX_CONFIGURE_ADD_COMMON" >> $GITHUB_ENV
echo NGINX_CONFIGURE_ADD_STD_COMMON="$NGINX_CONFIGURE_ADD_STD_COMMON" >> $GITHUB_ENV
echo NGINX_CONFIGURE_ADD_STD="$NGINX_CONFIGURE_ADD_STD" >> $GITHUB_ENV
echo NGINX_CONFIGURE_ADD_STD_MODULES="$NGINX_CONFIGURE_ADD_STD_MODULES" >> $GITHUB_ENV
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
freebsd-*)
echo MAKE_UTILITY=gmake >> $GITHUB_ENV
;;
*)
echo MAKE_UTILITY=make >> $GITHUB_ENV
;;
esac
- name: Check out nginx tests
run: |
git clone https://github.com/nginx/nginx-tests
- name: Configure and build std
run: |
./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_ADD_AUX
make -j$(nproc) -k || make
make clean
- name: Configure and build package-max
run: |
$NGINX_CONFIGURE_CMD_COMMON \
$NGINX_CONFIGURE_ADD_COMMON \
$NGINX_CONFIGURE_ADD_STD_COMMON \
$NGINX_CONFIGURE_ADD_STD \
$NGINX_CONFIGURE_ADD_GEOIP \
--with-cc-opt="$CC_OPT" \
--with-ld-opt="$LD_OPT" \
|| cat objs/autoconf.err
make -j$(nproc) -k || make
- name: Test package-max
run: |
cd nginx-tests
ulimit -c unlimited
prove -v -j$(nproc) --state=save . || prove -v --state=failed
cd .. && make clean
env:
TEST_NGINX_BINARY: "${{ github.workspace }}/objs/nginx"
TEST_NGINX_VERBOSE: 1
PERL5LIB: "${{ github.workspace }}/nginx-tests/lib"
ASAN_OPTIONS: "detect_odr_violation=0:report_globals=0:detect_leaks=0"
- name: Configure and build package-max debug
run: |
$NGINX_CONFIGURE_CMD_COMMON \
$NGINX_CONFIGURE_ADD_COMMON \
$NGINX_CONFIGURE_ADD_STD_COMMON \
$NGINX_CONFIGURE_ADD_STD \
$NGINX_CONFIGURE_ADD_GEOIP \
--with-cc-opt="$CC_OPT" \
--with-ld-opt="$LD_OPT" \
--with-debug \
|| cat objs/autoconf.err
make -j$(nproc) -k || make
- name: Test package-max debug
run: |
cd nginx-tests
ulimit -c unlimited
prove -v -j$(nproc) --state=save . || prove -v --state=failed
cd .. && make clean
env:
TEST_NGINX_BINARY: "${{ github.workspace }}/objs/nginx"
TEST_NGINX_VERBOSE: 1
PERL5LIB: "${{ github.workspace }}/nginx-tests/lib"
ASAN_OPTIONS: "detect_odr_violation=0:report_globals=0:detect_leaks=0"
- name: Configure and build modules
run: |
$NGINX_CONFIGURE_CMD_COMMON \
$NGINX_CONFIGURE_ADD_COMMON \
$NGINX_CONFIGURE_ADD_STD_COMMON \
$NGINX_CONFIGURE_ADD_STD_MODULES \
$NGINX_CONFIGURE_ADD_GEOIP_MODULES \
--with-cc-opt="$CC_OPT" \
--with-ld-opt="$LD_OPT" \
|| cat objs/autoconf.err
make modules
- name: Configure and build dynamic
run: |
$NGINX_CONFIGURE_CMD_COMMON \
$NGINX_CONFIGURE_ADD_COMMON \
$NGINX_CONFIGURE_ADD_STD_COMMON \
--with-cc-opt="$CC_OPT" \
--with-ld-opt="$LD_OPT" \
|| cat objs/autoconf.err
make -j$(nproc) -k || make
- name: Test dynamic
run: |
cd nginx-tests
ulimit -c unlimited
prove -v -j$(nproc) --state=save . || prove -v --state=failed
cd .. && make clean
env:
TEST_NGINX_BINARY: "${{ github.workspace }}/objs/nginx"
TEST_NGINX_GLOBALS: "load_module ${{ github.workspace }}/objs/ngx_http_image_filter_module.so;load_module ${{ github.workspace }}/objs/ngx_http_perl_module.so;load_module ${{ github.workspace }}/objs/ngx_http_xslt_filter_module.so;"
TEST_NGINX_VERBOSE: 1
PERL5LIB: "${{ github.workspace }}/nginx-tests/lib"
ASAN_OPTIONS: "detect_odr_violation=0:report_globals=0:detect_leaks=0"
- name: Configure and build modules debug
run: |
$NGINX_CONFIGURE_CMD_COMMON \
$NGINX_CONFIGURE_ADD_COMMON \
$NGINX_CONFIGURE_ADD_STD_COMMON \
$NGINX_CONFIGURE_ADD_STD_MODULES \
$NGINX_CONFIGURE_ADD_GEOIP_MODULES \
--with-cc-opt="$CC_OPT" \
--with-ld-opt="$LD_OPT" \
--with-debug \
|| cat objs/autoconf.err
make modules
- name: Configure and build dynamic debug
run: |
$NGINX_CONFIGURE_CMD_COMMON \
$NGINX_CONFIGURE_ADD_COMMON \
$NGINX_CONFIGURE_ADD_STD_COMMON \
--with-cc-opt="$CC_OPT" \
--with-ld-opt="$LD_OPT" \
--with-debug \
|| cat objs/autoconf.err
make -j$(nproc) -k || make
- name: Test dynamic debug
run: |
cd nginx-tests
ulimit -c unlimited
prove -v -j$(nproc) --state=save . || prove -v --state=failed
cd .. && make clean
env:
TEST_NGINX_BINARY: "${{ github.workspace }}/objs/nginx"
TEST_NGINX_GLOBALS: "load_module ${{ github.workspace }}/objs/ngx_http_image_filter_module.so;load_module /${{ github.workspace }}/objs/ngx_http_perl_module.so;load_module /${{ github.workspace }}/objs/ngx_http_xslt_filter_module.so;"
TEST_NGINX_VERBOSE: 1
PERL5LIB: "${{ github.workspace }}/nginx-tests/lib"
ASAN_OPTIONS: "detect_odr_violation=0:report_globals=0:detect_leaks=0"
- name: Configure and build aio
run: |
$NGINX_CONFIGURE_CMD_COMMON \
$NGINX_CONFIGURE_ADD_COMMON \
$NGINX_CONFIGURE_ADD_STD_COMMON \
$NGINX_CONFIGURE_ADD_STD \
$NGINX_CONFIGURE_ADD_GEOIP \
$NGINX_CONFIGURE_ADD_AIO \
--with-cc-opt="$CC_OPT" \
--with-ld-opt="$LD_OPT" \
|| cat objs/autoconf.err
make -j$(nproc) -k || make
- name: Test aio
run: |
cd nginx-tests
ulimit -c unlimited
prove -v -j$(nproc) --state=save . || prove -v --state=failed
env:
TEST_NGINX_BINARY: "${{ github.workspace }}/objs/nginx"
TEST_NGINX_VERBOSE: 1
PERL5LIB: "${{ github.workspace }}/nginx-tests/lib"
ASAN_OPTIONS: "detect_odr_violation=0:report_globals=0:detect_leaks=0"
TEST_NGINX_GLOBALS_HTTP: "${{ env.TEST_NGINX_GLOBALS_HTTP_AIO }}"
- name: Test aio-write
run: |
cd nginx-tests
ulimit -c unlimited
prove -v -j$(nproc) --state=save . || prove -v --state=failed
cd .. && make clean
env:
TEST_NGINX_BINARY: "${{ github.workspace }}/objs/nginx"
TEST_NGINX_VERBOSE: 1
PERL5LIB: "${{ github.workspace }}/nginx-tests/lib"
ASAN_OPTIONS: "detect_odr_violation=0:report_globals=0:detect_leaks=0"
TEST_NGINX_GLOBALS_HTTP: "aio threads; aio_write on;"
- name: Configure and build aio debug
run: |
$NGINX_CONFIGURE_CMD_COMMON \
$NGINX_CONFIGURE_ADD_COMMON \
$NGINX_CONFIGURE_ADD_STD_COMMON \
$NGINX_CONFIGURE_ADD_STD \
$NGINX_CONFIGURE_ADD_GEOIP \
$NGINX_CONFIGURE_ADD_AIO \
--with-cc-opt="$CC_OPT" \
--with-ld-opt="$LD_OPT" \
--with-debug \
|| cat objs/autoconf.err
make -j$(nproc) -k || make
- name: Test aio debug
run: |
cd nginx-tests
ulimit -c unlimited
prove -v -j$(nproc) --state=save . || prove -v --state=failed
env:
TEST_NGINX_BINARY: "${{ github.workspace }}/objs/nginx"
TEST_NGINX_VERBOSE: 1
PERL5LIB: "${{ github.workspace }}/nginx-tests/lib"
ASAN_OPTIONS: "detect_odr_violation=0:report_globals=0:detect_leaks=0"
TEST_NGINX_GLOBALS_HTTP: "${{ env.TEST_NGINX_GLOBALS_HTTP_AIO }}"
- name: Test aio-write debug
run: |
cd nginx-tests
ulimit -c unlimited
prove -v -j$(nproc) --state=save . || prove -v --state=failed
cd .. && make clean
env:
TEST_NGINX_BINARY: "${{ github.workspace }}/objs/nginx"
TEST_NGINX_VERBOSE: 1
PERL5LIB: "${{ github.workspace }}/nginx-tests/lib"
ASAN_OPTIONS: "detect_odr_violation=0:report_globals=0:detect_leaks=0"
TEST_NGINX_GLOBALS_HTTP: "aio threads; aio_write on;"