From 82196dc6c4b9e7e18c1e4e41754dfb94f21ff91c Mon Sep 17 00:00:00 2001 From: Tony Cook Date: Tue, 2 Aug 2022 16:06:37 +1000 Subject: 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. --- .github/workflows/testsuite.yml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to '.github') 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 -- cgit v1.2.1