diff options
author | Joe Orton <jorton@apache.org> | 2023-02-07 16:15:05 +0000 |
---|---|---|
committer | Joe Orton <jorton@apache.org> | 2023-02-07 16:15:05 +0000 |
commit | d7b288dff443f2eec57393272ed86b70d6392cab (patch) | |
tree | 6f6565cc04b175e9c0dc0ecc32773fe7ceac751b /test | |
parent | c23375e9455ed158f3e032477db9da41c5e5f04a (diff) | |
download | httpd-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.ci | 13 | ||||
-rwxr-xr-x | test/travis_before_linux.sh | 24 | ||||
-rwxr-xr-x | test/travis_run_linux.sh | 1 |
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}" |