Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Perl with Makefile.PL run native

name: CI

on:
    push:
    pull_request:
    workflow_dispatch:
#    schedule:
#        - cron: '42 5 * * 0'


jobs:
  perl-job:
    strategy:
      fail-fast: false
      matrix:
        runner:
          - ubuntu-latest
          - macos-latest
          - windows-latest
        perl:
          - '5.30'
          - '5.42'

    runs-on: ${{matrix.runner}}
    name: OS ${{matrix.runner}} Perl ${{matrix.perl}}

    steps:
    - uses: actions/checkout@v6

    - name: Set up perl
      uses: shogo82148/actions-setup-perl@v1
      with:
          perl-version: ${{ matrix.perl }}
          distribution: ${{ ( startsWith( matrix.runner, 'windows-' ) && 'strawberry' ) || 'default' }}

    - name: Install dependencies
      run: |
          cpanm --notest Module::Install --version
          cpanm --installdeps --notest --version .

    - name: Run Tests on Linux and macOS
      if: ${{ matrix.runner != 'windows-latest' }}
      run: |
          perl Makefile.PL
          make
          make test

    - name: Run Tests on Windows
      if: ${{ matrix.runner == 'windows-latest' }}
      run: |
          perl Makefile.PL
          gmake
          gmake test

repository