From eee41ced93bb15310054e0840aa9e2e1a2932d10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C5=8Dan?= Date: Sun, 15 Feb 2026 08:00:19 -0700 Subject: [PATCH] ci: modernize GitHub Actions workflow - Bump actions/checkout from v4 to v6 - Pin perl-actions/install-with-cpm to v1.9 for reproducibility - Add concurrency group to cancel stale CI runs on same branch/PR - Add macOS job to test XS compilation on Darwin (system perl) --- .github/workflows/testsuite.yml | 42 +++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/.github/workflows/testsuite.yml b/.github/workflows/testsuite.yml index eca8e3c8..b16b972f 100644 --- a/.github/workflows/testsuite.yml +++ b/.github/workflows/testsuite.yml @@ -8,6 +8,10 @@ on: - "*" pull_request: +concurrency: + group: ci-${{ github.ref }} + cancel-in-progress: true + jobs: ubuntu: env: @@ -19,10 +23,10 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - run: perl -V - name: install dependencies - uses: perl-actions/install-with-cpm@v1 + uses: perl-actions/install-with-cpm@v1.9 with: cpanfile: "cpanfile" - name: Makefile.PL @@ -63,10 +67,10 @@ jobs: container: perldocker/perl-tester:${{ matrix.perl-version }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - run: perl -V - name: install dependencies - uses: perl-actions/install-with-cpm@v1 + uses: perl-actions/install-with-cpm@v1.9 with: sudo: false cpanfile: "cpanfile" @@ -75,6 +79,34 @@ jobs: - run: make test - run: make install + macOS: + needs: [ubuntu] + env: + PERL_USE_UNSAFE_INC: 0 + AUTHOR_TESTING: 1 + AUTOMATED_TESTING: 1 + RELEASE_TESTING: 1 + + runs-on: macOS-latest + + strategy: + fail-fast: false + matrix: + XS: [y, n] + + steps: + - uses: actions/checkout@v6 + - run: perl -V + - name: install dependencies + uses: perl-actions/install-with-cpm@v1.9 + with: + sudo: true + cpanfile: "cpanfile" + - name: Makefile.PL + run: perl Makefile.PL TT_XS_DEFAULT=${{ matrix.XS }} TT_XS_ENABLE=${{ matrix.XS }} TT_QUIET=n TT_ACCEPT=y + - run: make test + - run: sudo make install + plugins: needs: [ubuntu,linux] env: @@ -118,7 +150,7 @@ jobs: container: perl:${{ matrix.perl-version }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - run: perl -V - name: Install cpm run: cpanm -n App::cpm Carton::Snapshot