From 1c65da8df2d69eecc586bcdb47af32b9bdd73b7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C5=8Dan?= Date: Wed, 25 Feb 2026 21:59:40 -0700 Subject: [PATCH] ci: bump actions and use perl-versions@v2 for dynamic matrix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - actions/checkout: v1/@master → v6 - linux: replace hardcoded 17-version matrix with perl-actions/perl-versions@v2 dynamic discovery (since 5.8, with devel) - linux: add quick test gate job before full matrix - macos/windows: bump checkout only (platform-specific perl stays as-is) Co-Authored-By: Claude Opus 4.6 --- .github/workflows/linux.yml | 81 ++++++++++++++++++++--------------- .github/workflows/macos.yml | 2 +- .github/workflows/windows.yml | 2 +- 3 files changed, 49 insertions(+), 36 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 27932fec8..b37eafc3c 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -9,51 +9,64 @@ on: pull_request: jobs: - perl: + ubuntu: + name: "quick test" + env: + PERL_USE_UNSAFE_INC: 0 + AUTHOR_TESTING: 1 + AUTOMATED_TESTING: 1 + RELEASE_TESTING: 1 + PERL_CARTON_PATH: $GITHUB_WORKSPACE/local + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v6 + - run: perl -V + - name: Install Dependencies + run: cpm install -g --show-build-log-on-failure --cpanfile cpanfile + - run: perl Makefile.PL + - run: make + - run: make test + + perl-versions: + runs-on: ubuntu-latest + name: List Perl versions + outputs: + perl-versions: ${{ steps.action.outputs.perl-versions }} + steps: + - id: action + uses: perl-actions/perl-versions@v2 + with: + since-perl: v5.8 + with-devel: true + + perl: + name: "Perl v${{ matrix.perl-version }}" + needs: [ubuntu, perl-versions] runs-on: ubuntu-latest env: - PERL_USE_UNSAFE_INC: 0 - AUTHOR_TESTING: 1 - AUTOMATED_TESTING: 1 - RELEASE_TESTING: 1 - PERL_CARTON_PATH: $GITHUB_WORKSPACE/local + PERL_USE_UNSAFE_INC: 0 + AUTHOR_TESTING: 1 + AUTOMATED_TESTING: 1 + RELEASE_TESTING: 1 + PERL_CARTON_PATH: $GITHUB_WORKSPACE/local strategy: fail-fast: false matrix: - perl-version: - - 'latest' - - '5.38' - - '5.36' - - '5.34' - - '5.32' - - '5.30' - - '5.28' - - '5.26' - - '5.24' - - '5.22' - - '5.20' - - '5.18' - - '5.16' - - '5.14' - - '5.12' - - '5.10' - - '5.8' + perl-version: ${{ fromJson(needs.perl-versions.outputs.perl-versions) }} container: image: perldocker/perl-tester:${{ matrix.perl-version }} steps: - - uses: actions/checkout@v1 - - name: perl -V - run: perl -V - - name: Install Dependencies CI + - uses: actions/checkout@v6 + - run: perl -V + - name: Install Dependencies run: cpm install -g --show-build-log-on-failure --cpanfile cpanfile - - name: perl Makefile.PL - run: perl Makefile.PL - - name: make - run: make - - name: Run Tests - run: make test \ No newline at end of file + - run: perl Makefile.PL + - run: make + - run: make test diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 358a1b7d3..f98479789 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -21,7 +21,7 @@ jobs: PERL_CARTON_PATH: $GITHUB_WORKSPACE/local steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v6 - name: Set up Perl run: brew install perl - name: perl -V diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index b1c259d07..e2f9f0442 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -20,7 +20,7 @@ jobs: RELEASE_TESTING: 1 steps: - - uses: actions/checkout@master + - uses: actions/checkout@v6 - name: Set up Perl run: | choco install strawberryperl