You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jo...@apache.org on 2026/08/27 06:32:24 UTC

svn commit: r1937504 - httpd/httpd/trunk/.github/workflows

Author: jorton
Date: Thu Aug 27 06:32:24 2026
New Revision: 1937504

Log:
CI: Start the slowest jobs first. [skip ci]

With max-parallel set, jobs start in matrix order, so the long ones
have to start first or they run alone at the end; this is worth two
minutes of wall clock.

* .github/workflows/linux.yml: Move the SSL/TLS variant, ASan, UBSan
  and pytest jobs to the head of the matrix.

Co-Authored-By: Claude Opus 5 (1M context) <no...@anthropic.com>
GitHub: PR #717

Modified:
   httpd/httpd/trunk/.github/workflows/linux.yml

Modified: httpd/httpd/trunk/.github/workflows/linux.yml
==============================================================================
--- httpd/httpd/trunk/.github/workflows/linux.yml	Thu Aug 27 06:32:16 2026	(r1937503)
+++ httpd/httpd/trunk/.github/workflows/linux.yml	Thu Aug 27 06:32:24 2026	(r1937504)
@@ -44,6 +44,107 @@ jobs:
       matrix:
         include:
           # -------------------------------------------------------------------------
+          - name: Shared MPMs (event), pool-debug, SSL/TLS variants
+            config: --enable-mods-shared=reallyall --enable-mpms-shared=all --with-mpm=event
+            env: |
+              APR_VERSION=1.7.x
+              APR_CONFIG="--enable-pool-debug"
+              APU_VERSION=1.7.x
+              APU_CONFIG="--with-crypto --with-ldap"
+              TEST_MALLOC=1
+              TEST_SSL=1
+          # -------------------------------------------------------------------------
+          - name: Shared MPMs (worker), pool-debug, SSL/TLS variants
+            config: --enable-mods-shared=reallyall --enable-mpms-shared=all --with-mpm=worker
+            env: |
+              APR_VERSION=1.7.x
+              APR_CONFIG="--enable-pool-debug"
+              APU_VERSION=1.7.x
+              APU_CONFIG="--with-crypto --with-ldap"
+              TEST_MALLOC=1
+              TEST_SSL=1
+          # -------------------------------------------------------------------------
+          - name: Shared MPMs (prefork), pool-debug, SSL/TLS variants
+            config: --enable-mods-shared=reallyall --enable-mpms-shared=all --with-mpm=prefork
+            env: |
+              APR_VERSION=1.7.x
+              APR_CONFIG="--enable-pool-debug"
+              APU_VERSION=1.7.x
+              APU_CONFIG="--with-crypto --with-ldap"
+              TEST_MALLOC=1
+              TEST_SSL=1
+          # -------------------------------------------------------------------------
+          - name: UBSan
+            notest-cflags: -fsanitize=undefined -fno-sanitize-recover=undefined
+            config: --enable-mods-shared=reallyall --disable-http2
+            env: |
+              NOTEST_LIBS=-lubsan
+              TEST_UBSAN=1
+              TEST_PYTEST=1
+          # -------------------------------------------------------------------------
+          # The ASan jobs are the slowest in the matrix and so set the
+          # wall-clock time for the whole workflow; running the Perl
+          # framework and the pytest suites in separate jobs halves that.
+          # Both halves build the same dependencies, so they share one
+          # ~/root cache entry.
+          - name: ASan
+            notest-cflags: -ggdb -fsanitize=address -fno-sanitize-recover=address -fno-omit-frame-pointer
+            config: --enable-mods-shared=reallyall
+            env: |
+              APR_VERSION=1.7.x
+              APU_VERSION=1.7.x
+              APU_CONFIG="--with-crypto --with-ldap"
+              TEST_ASAN=1
+          # -------------------------------------------------------------------------
+          - name: ASan, pytest
+            notest-cflags: -ggdb -fsanitize=address -fno-sanitize-recover=address -fno-omit-frame-pointer
+            config: --enable-mods-shared=reallyall
+            pkgs: nghttp2-client
+            env: |
+              APR_VERSION=1.7.x
+              APU_VERSION=1.7.x
+              APU_CONFIG="--with-crypto --with-ldap"
+              TEST_ASAN=1
+              NO_TEST_FRAMEWORK=1
+              TEST_PYTEST=1
+          # -------------------------------------------------------------------------
+          - name: ASan, pool-debug
+            notest-cflags: -ggdb -fsanitize=address -fno-sanitize-recover=address -fno-omit-frame-pointer -O2
+            config: --enable-mods-shared=reallyall --enable-maintainer-mode
+            env: |
+              APR_VERSION=1.7.x
+              APR_CONFIG="--enable-pool-debug"
+              APU_VERSION=1.7.x
+              APU_CONFIG="--with-crypto --with-ldap"
+              TEST_ASAN=1
+          # -------------------------------------------------------------------------
+          - name: ASan, pool-debug, pytest
+            notest-cflags: -ggdb -fsanitize=address -fno-sanitize-recover=address -fno-omit-frame-pointer -O2
+            config: --enable-mods-shared=reallyall --enable-maintainer-mode
+            pkgs: nghttp2-client
+            env: |
+              APR_VERSION=1.7.x
+              APR_CONFIG="--enable-pool-debug"
+              APU_VERSION=1.7.x
+              APU_CONFIG="--with-crypto --with-ldap"
+              TEST_ASAN=1
+              NO_TEST_FRAMEWORK=1
+              TEST_PYTEST=1
+          # -------------------------------------------------------------------------
+          # Runs every pytest-based test suite (pytest_suite/ + all
+          # test/modules/*/ pyhttpd suites except modules/md, which needs a
+          # local ACME/pebble server that isn't available here) via `make
+          # check-all-pytest`. See TEST_PYTEST in test/travis_run_linux.sh.
+          - name: Python pytest test suites
+            config: --enable-mods-shared=reallyall --with-mpm=event --enable-mpms-shared=all
+            pkgs: nghttp2-client
+            env: |
+              APR_VERSION=1.7.6
+              APU_VERSION=1.6.5
+              APU_CONFIG="--with-crypto"
+              NO_TEST_FRAMEWORK=1
+              TEST_PYTEST=1
+          # -------------------------------------------------------------------------
           - name: Empty APLOGNO() test
             env: |
               SKIP_TESTING=1
@@ -155,36 +256,6 @@ jobs:
               APU_CONFIG="--with-crypto --with-ldap"
               TEST_MALLOC=1
           # -------------------------------------------------------------------------
-          - name: Shared MPMs (event), pool-debug, SSL/TLS variants
-            config: --enable-mods-shared=reallyall --enable-mpms-shared=all --with-mpm=event
-            env: |
-              APR_VERSION=1.7.x
-              APR_CONFIG="--enable-pool-debug"
-              APU_VERSION=1.7.x
-              APU_CONFIG="--with-crypto --with-ldap"
-              TEST_MALLOC=1
-              TEST_SSL=1
-          # -------------------------------------------------------------------------
-          - name: Shared MPMs (worker), pool-debug, SSL/TLS variants
-            config: --enable-mods-shared=reallyall --enable-mpms-shared=all --with-mpm=worker
-            env: |
-              APR_VERSION=1.7.x
-              APR_CONFIG="--enable-pool-debug"
-              APU_VERSION=1.7.x
-              APU_CONFIG="--with-crypto --with-ldap"
-              TEST_MALLOC=1
-              TEST_SSL=1
-          # -------------------------------------------------------------------------
-          - name: Shared MPMs (prefork), pool-debug, SSL/TLS variants
-            config: --enable-mods-shared=reallyall --enable-mpms-shared=all --with-mpm=prefork
-            env: |
-              APR_VERSION=1.7.x
-              APR_CONFIG="--enable-pool-debug"
-              APU_VERSION=1.7.x
-              APU_CONFIG="--with-crypto --with-ldap"
-              TEST_MALLOC=1
-              TEST_SSL=1
-          # -------------------------------------------------------------------------
           - name: litmus WebDAV tests
             config: --enable-dav --enable-dav-fs
             env: |
@@ -210,77 +281,6 @@ jobs:
               BUILDCONFIG="--with-regen-expr"
               MFLAGS=
           # -------------------------------------------------------------------------
-          - name: UBSan
-            notest-cflags: -fsanitize=undefined -fno-sanitize-recover=undefined
-            config: --enable-mods-shared=reallyall --disable-http2
-            env: |
-              NOTEST_LIBS=-lubsan
-              TEST_UBSAN=1
-              TEST_PYTEST=1
-          # -------------------------------------------------------------------------
-          # The ASan jobs are the slowest in the matrix and so set the
-          # wall-clock time for the whole workflow; running the Perl
-          # framework and the pytest suites in separate jobs halves that.
-          # Both halves build the same dependencies, so they share one
-          # ~/root cache entry.
-          - name: ASan
-            notest-cflags: -ggdb -fsanitize=address -fno-sanitize-recover=address -fno-omit-frame-pointer
-            config: --enable-mods-shared=reallyall
-            env: |
-              APR_VERSION=1.7.x
-              APU_VERSION=1.7.x
-              APU_CONFIG="--with-crypto --with-ldap"
-              TEST_ASAN=1
-          # -------------------------------------------------------------------------
-          - name: ASan, pytest
-            notest-cflags: -ggdb -fsanitize=address -fno-sanitize-recover=address -fno-omit-frame-pointer
-            config: --enable-mods-shared=reallyall
-            pkgs: nghttp2-client
-            env: |
-              APR_VERSION=1.7.x
-              APU_VERSION=1.7.x
-              APU_CONFIG="--with-crypto --with-ldap"
-              TEST_ASAN=1
-              NO_TEST_FRAMEWORK=1
-              TEST_PYTEST=1
-          # -------------------------------------------------------------------------
-          - name: ASan, pool-debug
-            notest-cflags: -ggdb -fsanitize=address -fno-sanitize-recover=address -fno-omit-frame-pointer -O2
-            config: --enable-mods-shared=reallyall --enable-maintainer-mode
-            env: |
-              APR_VERSION=1.7.x
-              APR_CONFIG="--enable-pool-debug"
-              APU_VERSION=1.7.x
-              APU_CONFIG="--with-crypto --with-ldap"
-              TEST_ASAN=1
-          # -------------------------------------------------------------------------
-          - name: ASan, pool-debug, pytest
-            notest-cflags: -ggdb -fsanitize=address -fno-sanitize-recover=address -fno-omit-frame-pointer -O2
-            config: --enable-mods-shared=reallyall --enable-maintainer-mode
-            pkgs: nghttp2-client
-            env: |
-              APR_VERSION=1.7.x
-              APR_CONFIG="--enable-pool-debug"
-              APU_VERSION=1.7.x
-              APU_CONFIG="--with-crypto --with-ldap"
-              TEST_ASAN=1
-              NO_TEST_FRAMEWORK=1
-              TEST_PYTEST=1
-          # -------------------------------------------------------------------------
-          # Runs every pytest-based test suite (pytest_suite/ + all
-          # test/modules/*/ pyhttpd suites except modules/md, which needs a
-          # local ACME/pebble server that isn't available here) via `make
-          # check-all-pytest`. See TEST_PYTEST in test/travis_run_linux.sh.
-          - name: Python pytest test suites
-            config: --enable-mods-shared=reallyall --with-mpm=event --enable-mpms-shared=all
-            pkgs: nghttp2-client
-            env: |
-              APR_VERSION=1.7.6
-              APU_VERSION=1.6.5
-              APU_CONFIG="--with-crypto"
-              NO_TEST_FRAMEWORK=1
-              TEST_PYTEST=1
-          # -------------------------------------------------------------------------
           ### TODO: if: *condition_not_24x
           - name: Configured w/reduced exports
             config: --enable-reduced-exports --enable-maintainer-mode --enable-systemd