Skip to content

Tidy and critic.

Tidy and critic. #8

Workflow file for this run

# DO NOT EDIT! This file is written by perl_setup_dist.
# If needed, you can add content at the end of the file.
name: Perl Tests
on:
push:
branches-ignore:
- 'exp-**'
- 'exp/**'
pull_request:
branches-ignore:
- 'exp-**'
- 'exp/**'
jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu, macos , windows]
perl: [ '5.26', '5.38' ]
exclude:
# MacOS runners are very expensive, so let’s run only on the latest Perl
- os: macos
perl: '5.26'
# From time to time, Strawberry Perl does not have the latest Perl
# version. So these lines can be uncommented to remove it (and replace
# it with another version in the include section below).
# Currently Strawberry Perl has 5.38
# - os: windows
# perl: '5.38'
# include:
# - os: windows
# perl: '5.32'
runs-on: ${{matrix.os}}-latest
name: Perl ${{matrix.perl}} ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Set up perl
uses: shogo82148/actions-setup-perl@v1
with:
perl-version: ${{ matrix.perl }}
distribution: ${{ ( matrix.os == 'windows' && 'strawberry' ) || 'default' }}
- name: Show Perl Version
run: |
perl -v
- name: Install Modules
run: |
cpanm -V
cpanm -v --installdeps --notest --with-configure --with-recommends --with-suggests --with-all-features .
- name: Install aspell
if: ${{ matrix.os == 'ubuntu' }}
run: |
sudo apt-get install aspell
- name: Run tests
if: ${{ matrix.os == 'ubuntu' }}
env:
AUTOMATED_TESTING: 1
NONINTERACTIVE_TESTING: 1
EXTENDED_TESTING: 1
RELEASE_TESTING: 1
run: |
perl Makefile.PL
make
make test
# MacOS runners are very costly, so let’s not run the EXTENDED_TESTING
# tests, to save some cost.
- name: Run tests
if: ${{ matrix.os == 'macos' }}
env:
AUTOMATED_TESTING: 1
NONINTERACTIVE_TESTING: 1
RELEASE_TESTING: 1
run: |
perl Makefile.PL
make
make test
# On Windows there is no 'make' command. It seems that Makefile.PL defaults
# to using 'dmake' which is maybe installed on the GitHub VMs. However we
# know that there is a 'gmake' included with Strawberry Perl, so let’s use
# that one.
- name: Run tests on Windows
if: ${{ matrix.os == 'windows' }}
env:
AUTOMATED_TESTING: 1
NONINTERACTIVE_TESTING: 1
RELEASE_TESTING: 1
run: |
perl Makefile.PL MAKE=gmake
gmake
gmake test
- name: Show Errors on Ubuntu
if: ${{ failure() && matrix.os == 'ubuntu' }}
run: |
cat /home/runner/.cpanm/work/*/build.log
- name: Show Errors on Windows
if: ${{ failure() && matrix.os == 'windows' }}
run: |
ls -l C:/Users/
ls -l C:/Users/RUNNER~1/
cat C:/Users/runneradmin/.cpanm/work/*/build.log
- name: Show Errors on OSX
if: ${{ failure() && matrix.os == 'macos' }}
run: |
cat /Users/runner/.cpanm/work/*/build.log
# End of the template. You can add custom content below this line.