summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJoe Orton <jorton@apache.org>2023-02-07 16:15:05 +0000
committerJoe Orton <jorton@apache.org>2023-02-07 16:15:05 +0000
commitd7b288dff443f2eec57393272ed86b70d6392cab (patch)
tree6f6565cc04b175e9c0dc0ecc32773fe7ceac751b /test
parentc23375e9455ed158f3e032477db9da41c5e5f04a (diff)
downloadhttpd-d7b288dff443f2eec57393272ed86b70d6392cab.tar.gz
Further migration of tests to GHA, though HTTP/2, ACME and
i386 build testing are all failing so currently disabled. Caching needs adjusting to use a different model to Travis. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1907506 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test')
-rw-r--r--test/README.ci13
-rwxr-xr-xtest/travis_before_linux.sh24
-rwxr-xr-xtest/travis_run_linux.sh1
3 files changed, 23 insertions, 15 deletions
diff --git a/test/README.ci b/test/README.ci
index eb0b119a7f..43600b00e6 100644
--- a/test/README.ci
+++ b/test/README.ci
@@ -46,7 +46,7 @@ The CI scripts use the following environment variables:
* CLEAR_CACHE - if set, the cached $HOME/root is removed before each build
-Caching
+Caching -- NOTE, BROKEN IN GITHUB ACTIONS --
-------
Perl modules installed in $HOME/perl5 are cached.
@@ -69,12 +69,19 @@ Travis to Github Actions Migration TODO
* better path filtering so e.g. CHANGES changes don't trigger CI
* support branch conditionals again (some tests are 2.4.x only, some trunk only)
-* make caching work properly for ~/root/apr*
-* cache ~/perl5 as well
+* make caching work properly for APR + CPAN modules
+ - this is using the wrong model at the moment
+ - the cache key needs to be based off (source code, job configuration)
+ - rather than done on the fly in test/travis_before_linux.sh
+ - pebble + Rustls builds should also be cached
* turn on failure notifications?
* test across different Ubuntu versions again
- and test against OpenSSL 1.x since we're now ONLY building against 3.x
* update the docs below for testing from PRs/feature branches
+* introduce some job ordering rather than having a flat/concurrent
+ set, if the default "./configure && make && test" works *then* start
+ jobs doing 200 different variations on ./configure --enable-XXX
+ i.e. stop burning CPU time for a typo which breaks every job
TODO list
---------
diff --git a/test/travis_before_linux.sh b/test/travis_before_linux.sh
index 0632d194a7..bc4d65942b 100755
--- a/test/travis_before_linux.sh
+++ b/test/travis_before_linux.sh
@@ -68,9 +68,9 @@ function install_apx() {
local revision=`svn info --show-item last-changed-revision ${url}`
- # Blow away the cached install root if the revision does not
- # match.
- test -f ${prefix}/.revision-is-${revision} || rm -rf ${prefix}
+ # Blow away the cached install root if the cached install is stale
+ # or doesn't match the expected configuration.
+ grep -q "${version} ${revision} ${config} CC=$CC" ${HOME}/root/.key-${name} || rm -rf ${prefix}
if test -d ${prefix}; then
return 0
@@ -84,8 +84,7 @@ function install_apx() {
make install
popd
- touch ${prefix}/.revision-is-${revision}
- echo ${version} ${revision} ${config} > ${HOME}/root/.key-${name}
+ echo ${version} ${revision} "${config}" "CC=${CC}" > ${HOME}/root/.key-${name}
}
# Allow to load $HOME/build/apache/httpd/.gdbinit
@@ -98,16 +97,19 @@ if ! test -v SKIP_TESTING; then
cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
+ pkgs="Net::SSL LWP::Protocol::https \
+ LWP::Protocol::AnyEvent::http ExtUtils::Embed Test::More \
+ AnyEvent DateTime HTTP::DAV FCGI \
+ AnyEvent::WebSocket::Client Apache::Test"
+
# CPAN modules are to be used with the system Perl and always with
# CC=gcc, e.g. for the CC="gcc -m32" case the builds are not correct
# otherwise.
- CC=gcc cpanm --notest Net::SSL LWP::Protocol::https \
- LWP::Protocol::AnyEvent::http \
- ExtUtils::Embed Test::More AnyEvent DateTime HTTP::DAV FCGI \
- AnyEvent::WebSocket::Client Apache::Test
+ CC=gcc cpanm --notest $pkgs
- ### Temporary: purge old svn checkout from the cache
- rm -rf $HOME/root/framework
+ # Set cache key.
+ echo $pkgs > ~/perl5/.key
+ unset pkgs
# Make a shallow clone of httpd-tests git repo.
git clone --depth=1 https://github.com/apache/httpd-tests.git test/perl-framework
diff --git a/test/travis_run_linux.sh b/test/travis_run_linux.sh
index 8aa1811b0b..7e4d855778 100755
--- a/test/travis_run_linux.sh
+++ b/test/travis_run_linux.sh
@@ -216,7 +216,6 @@ if ! test -v SKIP_TESTING; then
# imports crypto/ed25519: unrecognized import path "crypto/ed25519" (import path does not begin with hostname)
#
# but works on a docker ubuntu-focal image. ???
- export GOROOT=/usr/lib/go-1.14
export GOPATH=${PREFIX}/gocode
mkdir -p "${GOPATH}"
export PATH="${GOROOT}/bin:${GOPATH}/bin:${PATH}"