diff options
author | Tony Cook <tony@develop-help.com> | 2022-08-02 16:06:37 +1000 |
---|---|---|
committer | Tony Cook <tony@develop-help.com> | 2022-08-31 11:07:39 +1000 |
commit | 82196dc6c4b9e7e18c1e4e41754dfb94f21ff91c (patch) | |
tree | ef86f29f190a7bb95c216033089221d4c3b4bedf /.github | |
parent | b885e42dc2078e29df142cfcefaa86725199d15b (diff) | |
download | perl-82196dc6c4b9e7e18c1e4e41754dfb94f21ff91c.tar.gz |
test dist/ modules against various older perls in CI
This currently has one major limitation: the perl-testers images
aren't threaded and don't have threaded alternatives, so the threads,
threads-shared and Thread-Queue dists are effectively untested on the
older perls.
The perl-testers images have a large number of test modules and their
dependencies installed, which means we're testing against the latest
versions of those dependencies (such as parent.pm) rather than against
the version of that dependency that shipped with that perl.
I tried to use the official perl images, but these only include a
small number of recent perls. The git repository includes DockerFiles
for the older versions, but these aren't published to Docker Hub.
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/testsuite.yml | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/.github/workflows/testsuite.yml b/.github/workflows/testsuite.yml index 4ce9b77951..5af908d9cf 100644 --- a/.github/workflows/testsuite.yml +++ b/.github/workflows/testsuite.yml @@ -638,3 +638,43 @@ jobs: # LeakSanitizer is disabled because it randomly crashes, see [gh #19189] run: | ASAN_OPTIONS=detect_leaks=0 PERL_DESTRUCT_LEVEL=2 LC_ALL=en_US.UTF-8 PERL_UNICODE="" TEST_JOBS=2 ./perl t/harness + + # _ _ _ _ _ + # __| (_)___| |_ _ __ ___ ___ __| |_ _| | ___ ___ + # / _` | / __| __|____| '_ ` _ \ / _ \ / _` | | | | |/ _ \/ __| + # | (_| | \__ \ ||_____| | | | | | (_) | (_| | |_| | | __/\__ \ + # \__,_|_|___/\__| |_| |_| |_|\___/ \__,_|\__,_|_|\___||___/ + + dist-modules: + name: dist-modules + needs: sanity_check + runs-on: ubuntu-latest + if: needs.sanity_check.outputs.run_all_jobs == 'true' + + env: + # some plugins still needs this to run their tests... + # these don't really matter, but might later + PERL_USE_UNSAFE_INC: 0 + AUTHOR_TESTING: 1 + AUTOMATED_TESTING: 1 + RELEASE_TESTING: 1 + + strategy: + fail-fast: false + matrix: + perl-version: + - 'latest' + - '5.24' + - '5.10' + - '5.8' + + container: + image: perldocker/perl-tester:${{ matrix.perl-version }} + + steps: + - uses: actions/checkout@v1 + - name: perl -V + run: perl -V + - name: Build and test dist modules + run: + perl Porting/test-dist-modules.pl |