CI: Enable caching for the rustls install used for mod_tls testing.

Github: closes #416


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1916052 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
index aefbeee..d4b2579 100644
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -236,7 +236,6 @@
           #     TEST_MD=1
           # -------------------------------------------------------------------------
           ### TODO: if: *condition_not_24x
-          ### TODO: fix caching here.
           - name: MOD_TLS test suite
             config: --enable-mods-shared=reallyall --with-mpm=event --enable-mpms-shared=event
             pkgs: curl python3-pytest nghttp2-client python3-cryptography python3-requests python3-multipart python3-filelock python3-websockets cargo cbindgen
@@ -244,10 +243,10 @@
               APR_VERSION=1.7.4
               APU_VERSION=1.6.3
               APU_CONFIG="--with-crypto"
+              RUSTLS_VERSION="v0.10.0"
               NO_TEST_FRAMEWORK=1
               TEST_INSTALL=1
               TEST_MOD_TLS=1
-              CLEAR_CACHE=1
           - name: Configured w/reduced exports
             config: --enable-reduced-exports --enable-maintainer-mode
             env: |
diff --git a/test/travis_before_linux.sh b/test/travis_before_linux.sh
index bd468f5..a77feab 100755
--- a/test/travis_before_linux.sh
+++ b/test/travis_before_linux.sh
@@ -147,3 +147,15 @@
     install_apx apr-util ${APU_VERSION} "${APU_CONFIG}" --with-apr=$HOME/build/apr-${APR_VERSION}
     ldd $HOME/root/apr-util-${APU_VERSION}/lib/libaprutil-?.so || true
 fi
+
+# Since librustls is not a package (yet) on any platform, we
+# build the version we want from source
+if test -v TEST_MOD_TLS -a -v RUSTLS_VERSION; then
+    if ! test -d $HOME/root/rustls; then
+        RUSTLS_HOME="$HOME/build/rustls-ffi"
+        git clone -q --depth=1 -b "$RUSTLS_VERSION" https://github.com/rustls/rustls-ffi.git "$RUSTLS_HOME"
+        pushd "$RUSTLS_HOME"
+            make install DESTDIR="$HOME/root/rustls"
+        popd
+    fi
+fi
diff --git a/test/travis_run_linux.sh b/test/travis_run_linux.sh
index fc082ab..c1a6fae 100755
--- a/test/travis_run_linux.sh
+++ b/test/travis_run_linux.sh
@@ -54,16 +54,9 @@
     CONFIG="$CONFIG --with-apr-util=/usr"
 fi
 
-# Since librustls is not a package (yet) on any platform, we
-# build the version we want from source
-if test -v TEST_MOD_TLS; then
-  RUSTLS_HOME="$HOME/build/rustls-ffi"
-  RUSTLS_VERSION="v0.10.0"
-  git clone -b "$RUSTLS_VERSION" https://github.com/rustls/rustls-ffi.git "$RUSTLS_HOME"
-  pushd "$RUSTLS_HOME"
-    make install DESTDIR="$PREFIX"
-  popd
-  CONFIG="$CONFIG --with-tls --with-rustls=$PREFIX"
+# Pick up the rustls install built previously.
+if test -v TEST_MOD_TLS -a RUSTLS_VERSION; then
+  CONFIG="$CONFIG --with-tls --with-rustls=$HOME/root/rustls"
 fi
 
 if test -v TEST_OPENSSL3; then