Attempt to fix the workflow #2
This file contains 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: buildbot | ||
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;" | ||