]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Migrate more tests to Github Actions.
authorJoe Orton <jorton@apache.org>
Fri, 3 Feb 2023 11:28:51 +0000 (11:28 +0000)
committerJoe Orton <jorton@apache.org>
Fri, 3 Feb 2023 11:28:51 +0000 (11:28 +0000)
Github: fixes #340, fixes #339

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1907235 13f79535-47bb-0310-9956-ffa450edef68

.github/workflows/linux.yml
.travis.yml
test/travis_before_linux.sh

index ad26bc945c537692492590a7bd3c857f14059f6f..26e111c65fb2679ecd713b6e1b19bea2c34b4141 100644 (file)
@@ -23,8 +23,15 @@ env:
 jobs:
   build:
     strategy:
+      fail-fast: false
       matrix:
         include: 
+          # -------------------------------------------------------------------------
+          - name: Empty APLOGNO() test
+            env: |
+              SKIP_TESTING=1
+              TEST_LOGNO=1
+          # -------------------------------------------------------------------------
           - name: Default
           # -------------------------------------------------------------------------
           - name: All-static modules
@@ -44,13 +51,155 @@ jobs:
           # -------------------------------------------------------------------------
           - name: Event MPM, all-modules, no CMSG_DATA
             config: --enable-mods-shared=reallyall --with-mpm=event ac_cv_have_decl_CMSG_DATA=no
-      fail-fast: false
+          # -------------------------------------------------------------------------
+          - name: Default, all-modules + install
+            config: --enable-mods-shared=reallyall
+            env: |
+              TEST_INSTALL=1
+              APACHE_TEST_EXTRA_ARGS=-v
+          # -------------------------------------------------------------------------
+          - name: Default, all-modules, random test order
+            config: --enable-mods-shared=reallyall
+            env: |
+              TEST_ARGS=-order=random
+          # -------------------------------------------------------------------------
+          - name: GCC 10 maintainer-mode w/-Werror, install + VPATH
+            config: --enable-mods-shared=reallyall --enable-maintainer-mode
+            notest-cflags: -Werror -O2 -Wno-deprecated-declarations
+            env: |
+              CC=gcc-10
+              TEST_VPATH=1
+              TEST_INSTALL=1
+              SKIP_TESTING=1
+          # -------------------------------------------------------------------------
+          - name: All-modules, APR 1.7.2, APR-util 1.6.3
+            config: --enable-mods-shared=reallyall
+            env: |
+              APR_VERSION=1.7.2
+              APU_VERSION=1.6.3
+              APU_CONFIG="--with-crypto --with-ldap"
+          # -------------------------------------------------------------------------
+          - name: APR 1.7.x, APR-util 1.7.x
+            config: --enable-mods-shared=reallyall
+            env: |
+              APR_VERSION=1.7.x
+              APU_VERSION=1.7.x
+              APU_CONFIG="--with-crypto --with-ldap"
+              CLEAR_CACHE=1
+          # -------------------------------------------------------------------------
+          - name: Pool-debug
+            config: --enable-mods-shared=reallyall
+            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
+              CLEAR_CACHE=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
+              CLEAR_CACHE=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
+              CLEAR_CACHE=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
+              CLEAR_CACHE=1
+          # -------------------------------------------------------------------------
+          - name: litmus WebDAV tests
+            config: --enable-dav --enable-dav-fs
+            env: |
+              LITMUS=1
+              TESTS="t/modules/dav.t"
+            pkgs: litmus
+          # -------------------------------------------------------------------------
+          # MFLAGS= works around https://bz.apache.org/bugzilla/show_bug.cgi?id=63942
+          ## TODO if: *condition_not_24x
+          - name: Regenerate ap_expr
+            config: --enable-mods-shared=reallyall --enable-maintainer-mode
+            notest-cflags: -Werror -Wno-deprecated-declarations
+            env: |
+              BUILDCONFIG="--with-regen-expr"
+              MFLAGS=
+          # -------------------------------------------------------------------------
+          - name: APR 1.7.2, APR-util 1.6.3, LDAP
+            config: --enable-mods-shared=reallyall
+            pkgs: ldap-utils
+            env: |
+              APR_VERSION=1.7.2
+              APU_VERSION=1.6.3
+              APU_CONFIG="--with-crypto --with-ldap"
+              TEST_MALLOC=1
+              TEST_LDAP=1
+              TEST_ARGS="-defines LDAP"
+              TESTS="t/modules/"
+          # -------------------------------------------------------------------------
+          ### TODO: if: *condition_not_24x
+          - name: APR trunk thread debugging
+            config: --enable-mods-shared=reallyall --with-mpm=event
+            env: |
+              APR_VERSION=trunk
+              APR_CONFIG="--with-crypto --enable-thread-debug"
+          # -------------------------------------------------------------------------
+          - name: UBSan
+            notest-cflags: -fsanitize=undefined -fno-sanitize-recover=undefined
+            config: --enable-mods-shared=reallyall --disable-http2
+            env: |
+              NOTEST_LIBS=-lubsan
+              TEST_UBSAN=1
+          # -------------------------------------------------------------------------
+          - 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
+              CLEAR_CACHE=1
+          # -------------------------------------------------------------------------
+          - name: ASan, pool-debug
+            notest-cflags: -ggdb -fsanitize=address -fno-sanitize-recover=address -fno-omit-frame-pointer
+            config: --enable-mods-shared=reallyall
+            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
+              CLEAR_CACHE=1
     runs-on: ubuntu-latest
     env:
       NOTEST_CFLAGS: ${{ matrix.notest-cflags }}
       CONFIG: ${{ matrix.config }}
     name: ${{ matrix.name }}
     steps:
+    - name: Set environment variables
+      run: echo "${{ matrix.env }}" >> $GITHUB_ENV
     - name: apt refresh
       run: sudo apt-get -o Acquire::Retries=5 update
     - name: Install prerequisites
@@ -58,15 +207,29 @@ jobs:
                     cpanminus libtool-bin libapr1-dev libaprutil1-dev
                     liblua5.3-dev libbrotli-dev libcurl4-openssl-dev     
                     libnghttp2-dev libjansson-dev libpcre2-dev gdb
-                    perl-doc
+                    perl-doc ${{ matrix.pkgs }}
     - uses: actions/checkout@v3
+    - name: Cache APR build
+      uses: actions/cache@v3
+      env:
+        cache-name: cache-apr
+      with:
+        path: ~/root
+        key: ${{runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('/home/runner/root/.key-apr') }}
     - name: Configure environment
       run: ./test/travis_before_linux.sh
+      timeout-minutes: 15
+    - uses: actions/upload-artifact@v3
+      if: failure()
+      with:
+        name: config.log ${{ matrix.node-version }}
+        path: |
+          /home/runner/build/**/config.log
     - name: Build and test
       run: ./test/travis_run_linux.sh
     - uses: actions/upload-artifact@v3
       if: failure()
       with:
-        name: error_log
+        name: error_log ${{ matrix.node-version }}
         path: test/perl-framework/t/logs/error_log
 
index 91b3b5f47156952bee16fc19bceab511764ceea4..ddaff5cb2fdc1055e4fc08321549c7a2a21e1936 100644 (file)
@@ -44,9 +44,6 @@ _cond2: &condition_not_24x (branch is not present OR branch !~ /^2.4/) AND (tag
 jobs:
   include:
     # -------------------------------------------------------------------------
-    - name: Empty APLOGNO() test
-      env: SKIP_TESTING=1 TEST_LOGNO=1
-    # -------------------------------------------------------------------------
     - name: Linux s390x Ubuntu, all-modules
       arch: s390x
       env: CONFIG="--enable-mods-shared=reallyall"
@@ -86,20 +83,6 @@ jobs:
             - libapr1-dev
             - libbrotli-dev:i386
     # -------------------------------------------------------------------------
-    - name: Linux Ubuntu, Default, all-modules + install
-      env: CONFIG="--enable-mods-shared=reallyall"
-           TEST_INSTALL=1
-           APACHE_TEST_EXTRA_ARGS=-v
-    # -------------------------------------------------------------------------
-    - name: Linux Ubuntu, Default, all-modules, random test order
-      env: CONFIG="--enable-mods-shared=reallyall"
-           TEST_ARGS="-order=random"
-    # -------------------------------------------------------------------------
-    - name: Linux Ubuntu, GCC 7 maintainer-mode w/-Werror, install + VPATH
-      os: linux
-      env: CONFIG="--enable-mods-shared=reallyall --enable-maintainer-mode"
-           NOTEST_CFLAGS='-Werror -O2' CC=gcc-7
-           TEST_VPATH=1 TEST_INSTALL=1 SKIP_TESTING=1
     # -------------------------------------------------------------------------
     # -------------------------------------------------------------------------
     - if: *condition_not_24x
@@ -171,14 +154,6 @@ jobs:
             - libpcre2-dev
             - libldap2-dev
     # -------------------------------------------------------------------------
-    # MFLAGS= works around https://bz.apache.org/bugzilla/show_bug.cgi?id=63942
-    - if: *condition_not_24x
-      name: Linux Ubuntu, Regenerate ap_expr
-      os: linux
-      env: CONFIG="--enable-mods-shared=reallyall --enable-maintainer-mode NOTEST_CFLAGS=-Werror"
-           BUILDCONFIG="--with-regen-expr"
-           MFLAGS=
-    # -------------------------------------------------------------------------
     - if: *condition_not_24x
       name: Linux Ubuntu, APR trunk
       env: APR_VERSION=trunk APR_CONFIG="--with-crypto"
@@ -196,56 +171,6 @@ jobs:
            CONFIG="--enable-mods-shared=reallyall"
            APU_CONFIG="--with-crypto --with-ldap"
     # -------------------------------------------------------------------------
-    - name: Linux Ubuntu Focal, all-modules, system APR/APR-util
-      os: linux
-      dist: focal
-      env: CONFIG="--enable-mods-shared=reallyall"
-    # -------------------------------------------------------------------------
-    - name: Linux Ubuntu Focal, all-modules, APR 1.7.0, APR-util 1.6.1
-      dist: focal
-      env: APR_VERSION=1.7.0 APU_VERSION=1.6.1
-           CONFIG="--enable-mods-shared=reallyall"
-           APU_CONFIG="--with-crypto --with-ldap"
-    # -------------------------------------------------------------------------
-    - name: Linux Ubuntu, APR 1.7.0, APR-util 1.6.1
-      env: APR_VERSION=1.7.0 APU_VERSION=1.6.1
-           CONFIG="--enable-mods-shared=reallyall"
-           APU_CONFIG="--with-crypto --with-ldap"
-    # -------------------------------------------------------------------------
-    - name: Linux Ubuntu, APR 1.7.x, APR-util 1.7.x
-      env: APR_VERSION=1.7.x APU_VERSION=1.7.x
-           CONFIG="--enable-mods-shared=reallyall"
-           APU_CONFIG="--with-crypto --with-ldap"
-           CLEAR_CACHE=1
-    # -------------------------------------------------------------------------
-    - name: Linux Ubuntu, pool-debug
-      env: APR_VERSION=1.7.x APR_CONFIG="--enable-pool-debug"
-           APU_VERSION=1.7.x APU_CONFIG="--with-crypto --with-ldap"
-           CONFIG="--enable-mods-shared=reallyall"
-           TEST_MALLOC=1
-           CLEAR_CACHE=1
-    # -------------------------------------------------------------------------
-    - name: Linux Ubuntu, Shared MPMs (event), pool-debug, SSL/TLS variants
-      env: APR_VERSION=1.7.x APR_CONFIG="--enable-pool-debug"
-           APU_VERSION=1.7.x APU_CONFIG="--with-crypto --with-ldap"
-           CONFIG="--enable-mods-shared=reallyall --enable-mpms-shared=all --with-mpm=event"
-           TEST_MALLOC=1 TEST_SSL=1
-           CLEAR_CACHE=1
-    # -------------------------------------------------------------------------
-    - name: Linux Ubuntu, Shared MPMs (worker), pool-debug, SSL/TLS variants
-      env: APR_VERSION=1.7.x APR_CONFIG="--enable-pool-debug"
-           APU_VERSION=1.7.x APU_CONFIG="--with-crypto --with-ldap"
-           CONFIG="--enable-mods-shared=reallyall --enable-mpms-shared=all --with-mpm=worker"
-           TEST_MALLOC=1 TEST_SSL=1
-           CLEAR_CACHE=1
-    # -------------------------------------------------------------------------
-    - name: Linux Ubuntu, Shared MPMs (prefork), pool-debug, SSL/TLS variants
-      env: APR_VERSION=1.7.x APR_CONFIG="--enable-pool-debug"
-           APU_VERSION=1.7.x APU_CONFIG="--with-crypto --with-ldap"
-           CONFIG="--enable-mods-shared=reallyall --enable-mpms-shared=all --with-mpm=prefork"
-           TEST_MALLOC=1 TEST_SSL=1
-           CLEAR_CACHE=1
-    # -------------------------------------------------------------------------
     - name: Linux Ubuntu, APR trunk, minimal module set, OpenSSL 3.x
       if: *condition_not_24x
       env: APR_VERSION=trunk APR_CONFIG="--without-pgsql --without-mysql --without-odbc --with-crypto"
@@ -368,41 +293,6 @@ jobs:
             - cargo
             - cbindgen
     # -------------------------------------------------------------------------
-    - name: Linux Ubuntu, APR 1.7.0, APR-util 1.6.1, LDAP
-      env: APR_VERSION=1.7.0
-           APU_VERSION=1.6.1 APU_CONFIG="--with-crypto --with-ldap"
-           CONFIG="--enable-mods-shared=reallyall"
-           TEST_MALLOC=1 TEST_LDAP=1 TEST_ARGS="-defines LDAP"
-           TESTS="t/modules/"
-    # -------------------------------------------------------------------------
-    - if: *condition_not_24x
-      name: Linux Ubuntu, event, APR trunk thread debugging
-      env: APR_VERSION=trunk APR_CONFIG="--with-crypto --enable-thread-debug"
-           CONFIG="--enable-mods-shared=reallyall --with-mpm=event"
-    # -------------------------------------------------------------------------
-    - name: Linux Ubuntu, litmus WebDAV tests
-      env: CONFIG="--enable-dav --enable-dav-fs"
-           LITMUS=1 TESTS="t/modules/dav.t"
-      addons:
-        apt:
-          update: false
-          sources:
-            - sourceline: 'deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe'
-          packages:
-            - cpanminus
-            - libtool-bin
-            - libapr1-dev
-            - libaprutil1-dev
-            - perl-doc
-            - liblua5.3-dev
-            - libbrotli-dev
-            - libcurl4-openssl-dev
-            - libsystemd-dev
-            - libnghttp2-dev
-            - libjansson-dev
-            - libpcre2-dev
-            - litmus
-    # -------------------------------------------------------------------------
     - if: *condition_24x_only
       name: Linux Ubuntu, APR 1.5.1, APR-util 1.5.4
       env: APR_VERSION=1.5.1 APU_VERSION=1.5.4
@@ -412,30 +302,6 @@ jobs:
       name: Linux Ubuntu, APR 1.4.8, APR-util 1.4.2
       env: APR_VERSION=1.4.8 APU_VERSION=1.4.2
            CONFIG="--enable-mods-shared=reallyall"
-    # -------------------------------------------------------------------------
-    - name: Linux Ubuntu Focal, UBSan
-      dist: focal
-      env: NOTEST_CFLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined" NOTEST_LIBS=-lubsan
-           CONFIG="--enable-mods-shared=reallyall --disable-http2"
-           TEST_UBSAN=1
-    # -------------------------------------------------------------------------
-    - name: Linux Ubuntu Focal, ASan
-      dist: focal
-      env: NOTEST_CFLAGS="-ggdb -fsanitize=address -fno-sanitize-recover=address -fno-omit-frame-pointer"
-           APR_VERSION=1.7.x
-           APU_VERSION=1.7.x APU_CONFIG="--with-crypto --with-ldap"
-           CONFIG="--enable-mods-shared=reallyall"
-           TEST_ASAN=1
-           CLEAR_CACHE=1
-    # -------------------------------------------------------------------------
-    - name: Linux Ubuntu Focal, ASan, pool-debug
-      dist: focal
-      env: NOTEST_CFLAGS="-ggdb -fsanitize=address -fno-sanitize-recover=address -fno-omit-frame-pointer"
-           APR_VERSION=1.7.x APR_CONFIG="--enable-pool-debug"
-           APU_VERSION=1.7.x APU_CONFIG="--with-crypto --with-ldap"
-           CONFIG="--enable-mods-shared=reallyall"
-           TEST_ASAN=1
-           CLEAR_CACHE=1
   allow_failures:
     # Non-x86 are sometimes flaky:
     - arch: s390x
index c7426bee36942feb4d0253d2685ecc4ffbd9aae3..0632d194a79a912d5fb093b7ea5db79215337f42 100755 (executable)
@@ -85,6 +85,7 @@ function install_apx() {
     popd
 
     touch ${prefix}/.revision-is-${revision}
+    echo ${version} ${revision} ${config} > ${HOME}/root/.key-${name}
 }
 
 # Allow to load $HOME/build/apache/httpd/.gdbinit