current commit
240925.1 · Update the GitHub actions, and drop Appveyor because we have Windows in GitHub Actions
name: testsuite

on:
  push:
    branches:
      - "*"
    tags-ignore:
      - "*"
  pull_request:

jobs:
  # Builds a list of Perl versions to work with.
  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@v1
        with:
          since-perl: v5.10
          with-devel: true

  linux:
    runs-on: ubuntu-latest
    name: "Perl ${{ matrix.perl-version }}"
    needs: [perl-versions]

    env:
      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: ${{ fromJson (needs.perl-versions.outputs.perl-versions) }}

    container: perldocker/perl-tester:${{ matrix.perl-version }}

    steps:
      - uses: actions/checkout@v4
      - run: perl -V
      - name: Install dependencies
        uses: perl-actions/install-with-cpanm@v1
        with:
          cpanfile: "cpanfile"
          sudo: false
      - run: perl -MFile::Next -e1
      - run: perl Makefile.PL
      - run: make
      - run: make test

  macOS:
    needs: [perl-versions]
    runs-on: macOS-latest

    env:
      PERL_USE_UNSAFE_INC: 0
      AUTHOR_TESTING: 1
      AUTOMATED_TESTING: 1
      RELEASE_TESTING: 1
      PERL_CARTON_PATH: $GITHUB_WORKSPACE/local

    steps:
      - uses: actions/checkout@v4
      - run: brew install perl
      - run: perl -V
      - name: Install dependencies
        uses: perl-actions/install-with-cpanm@v1
        with:
          cpanfile: "cpanfile"
          sudo: false
      - run: perl -MFile::Next -e1
      - run: perl Makefile.PL
      - run: make
      - run: make test

  windows:
    runs-on: windows-latest
    name: "windows"
    needs: [perl-versions]
    env:
      PERL_USE_UNSAFE_INC: 0
      AUTHOR_TESTING: 1
      AUTOMATED_TESTING: 1
      RELEASE_TESTING: 1
      PERL_CARTON_PATH: $GITHUB_WORKSPACE/local

    steps:
      - uses: actions/checkout@v4
      - run: perl -V
      - name: Install dependencies
        uses: perl-actions/install-with-cpanm@v1
        with:
          cpanfile: "cpanfile"
          sudo: false
      - run: perl -MFile::Next -e1
      - run: perl Makefile.PL
      - run: make
      - run: make test