summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorTony Cook <tony@develop-help.com>2022-08-02 16:06:37 +1000
committerTony Cook <tony@develop-help.com>2022-08-31 11:07:39 +1000
commit82196dc6c4b9e7e18c1e4e41754dfb94f21ff91c (patch)
treeef86f29f190a7bb95c216033089221d4c3b4bedf /.github
parentb885e42dc2078e29df142cfcefaa86725199d15b (diff)
downloadperl-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.yml40
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