mirror of
https://github.com/apache/httpd.git
synced 2026-10-23 22:49:01 +03:00
CI: Check for expected definitions in the generated config header.
* .github/workflows/linux.yml: Add config-output and config-no-output matrix keys, giving definitions which must be present in or absent from include/ap_config_auto.h, and a step to check each. Use them for the Linux defaults and the PACKAGE_* definitions buildconf strips in the Default job, for AP_FORCE_EXPORTS and HAVE_SYSTEMD in the reduced exports job, and for HAVE_NGHTTP2 and HAVE_CURL in the OpenSSL 3.0 job which disables mod_http2 and mod_md. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> GitHub: PR #380 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1937571 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
26
.github/workflows/linux.yml
vendored
26
.github/workflows/linux.yml
vendored
@@ -157,6 +157,17 @@ jobs:
|
||||
PYTEST_ARGS=--only=pyhttpd
|
||||
# -------------------------------------------------------------------------
|
||||
- name: Default
|
||||
# Check the defaults expected for a default build on Linux.
|
||||
config-output: >-
|
||||
SINGLE_LISTEN_UNSERIALIZED_ACCEPT AP_NONBLOCK_WHEN_MULTI_LISTEN
|
||||
AP_ENABLE_V4_MAPPED HAVE_GMTOFF HAVE_FDPASSING HAVE_CRYPT_SHA2
|
||||
HAVE_PCRE2 HAVE_EPOLL_CREATE HAVE_GETTID HAVE_PRCTL HAVE_TIMEGM
|
||||
HAVE_GETLOADAVG HAVE_FOPEN64 HAVE_SETSID HAVE_KILLPG HAVE_INITGROUPS
|
||||
AP_FORCE_EXPORTS HAVE_NGHTTP2 HAVE_CURL
|
||||
# buildconf strips these from the generated header.
|
||||
config-no-output: >-
|
||||
PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING
|
||||
PACKAGE_BUGREPORT PACKAGE_URL
|
||||
# -------------------------------------------------------------------------
|
||||
- name: All-static modules
|
||||
config: --enable-mods-static=reallyall
|
||||
@@ -291,6 +302,8 @@ jobs:
|
||||
- name: Configured w/reduced exports
|
||||
config: --enable-reduced-exports --enable-maintainer-mode --enable-systemd
|
||||
pkgs: libsystemd-dev
|
||||
config-output: HAVE_SYSTEMD
|
||||
config-no-output: AP_FORCE_EXPORTS
|
||||
env: |
|
||||
SKIP_TESTING=1
|
||||
TEST_INSTALL=1
|
||||
@@ -313,6 +326,7 @@ jobs:
|
||||
# -------------------------------------------------------------------------
|
||||
- name: OpenSSL 3.0 LTS
|
||||
config: --enable-mods-shared=most --enable-maintainer-mode --disable-md --disable-http2 --disable-ldap --disable-crypto
|
||||
config-no-output: HAVE_NGHTTP2 HAVE_CURL
|
||||
env: |
|
||||
TEST_OPENSSL3=3.0.21
|
||||
APR_VERSION=1.7.6
|
||||
@@ -447,6 +461,18 @@ jobs:
|
||||
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
||||
- name: Build and test
|
||||
run: ./test/travis_run_linux.sh
|
||||
# Checks the config header in the build tree, so this must follow
|
||||
# the build, and is only useful for a non-VPATH job.
|
||||
- if: ${{ matrix.config-output != '' }}
|
||||
name: Check for expected ap_config_auto.h definitions
|
||||
run: for var in ${{ matrix.config-output }}; do
|
||||
grep --color=always "^#define *${var} *1" include/ap_config_auto.h;
|
||||
done
|
||||
- if: ${{ matrix.config-no-output != '' }}
|
||||
name: Check for unexpected ap_config_auto.h definitions
|
||||
run: for var in ${{ matrix.config-no-output }}; do
|
||||
! grep --color=always "^#define *${var}" include/ap_config_auto.h;
|
||||
done
|
||||
- uses: actions/upload-artifact@v7
|
||||
if: failure()
|
||||
with:
|
||||
|
||||
Reference in New Issue
Block a user