From 3f0ba5fb5484ccd089086b6ef318661de74927af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branislav=20Zahradn=C3=ADk?= Date: Sat, 9 May 2026 09:19:45 +0200 Subject: [PATCH 1/2] Use action multi-target-perl-versions to prepare test matrixes Action uses `perl-actions/perl-versions` so it automatically includes newer Perl versions without necessity to modify workflows in this repository. --- .github/workflows/dzil-build-and-test.yml | 76 +++++++++-------------- 1 file changed, 28 insertions(+), 48 deletions(-) diff --git a/.github/workflows/dzil-build-and-test.yml b/.github/workflows/dzil-build-and-test.yml index 232f1e05..9bf37b52 100644 --- a/.github/workflows/dzil-build-and-test.yml +++ b/.github/workflows/dzil-build-and-test.yml @@ -11,6 +11,22 @@ on: workflow_dispatch: jobs: + perl-versions: + runs-on: ubuntu-latest + name: List Perl versions + outputs: + versions-perl: ${{ steps.action.outputs.versions-target-perl }} + versions-macos: ${{ steps.action.outputs.versions-target-macos }} + versions-windows: ${{ steps.action.outputs.versions-target-windows-strawberry }} + steps: + - id: action + uses: perl-actions/multi-target-perl-versions@v2 + with: + since-perl: 5.8 + with-target-perl: true + with-target-macos: true + with-target-windows-strawberry: true + build-job: name: Build distribution runs-on: ubuntu-latest @@ -49,28 +65,14 @@ jobs: env: CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}} ubuntu-test-job: - needs: build-job + needs: + - build-job + - perl-versions runs-on: "ubuntu-latest" strategy: fail-fast: true matrix: - perl-version: - - "5.8" - - "5.10" - - "5.12" - - "5.14" - - "5.16" - - "5.18" - - "5.20" - - "5.22" - - "5.24" - - "5.26" - - "5.28" - - "5.30" - - "5.32" - - "5.34" - - "5.36" - - "5.38" + perl-version: ${{ fromJson (needs.perl-versions.outputs.versions-perl) }} name: Perl ${{ matrix.perl-version }} on ubuntu-latest steps: - name: set up perl @@ -91,28 +93,14 @@ jobs: AUTHOR_TESTING: 0 RELEASE_TESTING: 0 macos-test-job: - needs: ubuntu-test-job + needs: + - ubuntu-test-job + - perl-versions runs-on: "macos-latest" strategy: fail-fast: false matrix: - perl-version: - - "5.8" - - "5.10" - - "5.12" - - "5.14" - - "5.16" - - "5.18" - - "5.20" - - "5.22" - - "5.24" - - "5.26" - - "5.28" - - "5.30" - - "5.32" - - "5.34" - - "5.36" - - "5.38" + perl-version: ${{ fromJson (needs.perl-versions.outputs.versions-macos) }} name: perl ${{ matrix.perl-version }} on macos-latest steps: - name: set up perl @@ -132,22 +120,14 @@ jobs: AUTHOR_TESTING: 0 RELEASE_TESTING: 0 windows-test-job: - needs: ubuntu-test-job + needs: + - ubuntu-test-job + - perl-versions runs-on: "windows-latest" strategy: fail-fast: true matrix: - perl-version: - - "5.14" - - "5.16" - - "5.18" - - "5.20" - - "5.22" - - "5.24" - - "5.26" - - "5.28" - - "5.30" - - "5.32" + perl-version: ${{ fromJson (needs.perl-versions.outputs.versions-windows) }} name: perl ${{ matrix.perl-version }} on windows-latest steps: - name: set up perl From e2099bb0169600e44dd16641dba8e46a0f547ebf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branislav=20Zahradn=C3=ADk?= Date: Sun, 10 May 2026 16:06:32 +0200 Subject: [PATCH 2/2] Use newest perl-tester image to build test distribution --- .github/workflows/dzil-build-and-test.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dzil-build-and-test.yml b/.github/workflows/dzil-build-and-test.yml index 9bf37b52..cc0d4b11 100644 --- a/.github/workflows/dzil-build-and-test.yml +++ b/.github/workflows/dzil-build-and-test.yml @@ -15,6 +15,7 @@ jobs: runs-on: ubuntu-latest name: List Perl versions outputs: + build-on: ${{ steps.action.outputs.build-on }} versions-perl: ${{ steps.action.outputs.versions-target-perl }} versions-macos: ${{ steps.action.outputs.versions-target-macos }} versions-windows: ${{ steps.action.outputs.versions-target-windows-strawberry }} @@ -23,15 +24,18 @@ jobs: uses: perl-actions/multi-target-perl-versions@v2 with: since-perl: 5.8 + with-build-on: true with-target-perl: true with-target-macos: true with-target-windows-strawberry: true build-job: + needs: + - perl-versions name: Build distribution runs-on: ubuntu-latest container: - image: perldocker/perl-tester:5.38 + image: perldocker/perl-tester:${{ needs.perl-versions.outputs.build-on }} steps: - uses: actions/checkout@v6 - name: Run Tests @@ -46,10 +50,12 @@ jobs: name: build_dir path: build_dir coverage-job: - needs: build-job + needs: + - build-job + - perl-versions runs-on: ubuntu-latest container: - image: perldocker/perl-tester:5.38 + image: perldocker/perl-tester:${{ needs.perl-versions.outputs.build-on }} steps: - uses: actions/checkout@v6 # codecov wants to be inside a Git repository - uses: actions/download-artifact@v8