-
Notifications
You must be signed in to change notification settings - Fork 213
40 lines (40 loc) · 1.99 KB
/
perl.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# This workflow tests Sqitch's basic functionality (no database testing) on all
# supported versions of Perl on Ubuntu, macOS, and Windows. It runs for pushes
# and pull requests on the main and develop branches.
name: 🧅 Perl
on:
push:
branches: [main, develop, "**perl**"]
pull_request:
branches: [main, develop, "**perl**"]
jobs:
Perl:
strategy:
matrix:
os: [[🐧, ubuntu], [🍎, macos], [🪟, windows]]
perl: [ '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' ]
exclude:
- { os: [🪟, windows], perl: '5.12' } # https://github.com/shogo82148/actions-setup-perl/issues/876
- { os: [🪟, windows], perl: '5.14' } # https://github.com/shogo82148/actions-setup-perl/issues/881
name: 🧅 Perl ${{ matrix.perl }} on ${{ matrix.os[0] }} ${{ matrix.os[1] }}
runs-on: ${{ matrix.os[1] }}-latest
steps:
- uses: actions/checkout@v3
- name: Setup Perl
id: perl
uses: shogo82148/actions-setup-perl@v1
with: { perl-version: "${{ matrix.perl }}" }
- run: perl -V
- name: Cache CPAN Modules
uses: actions/cache@v3
with:
path: local
key: perl-${{ steps.perl.outputs.perl-hash }}
# Remove Locale::TextDomain if https://github.com/gflohr/libintl-perl/issues/7 fixed and released.
- if: ${{ matrix.os[1] == 'windows' }}
run: cpm install --verbose --show-build-log-on-failure --no-test --with-recommends Encode Win32::Console::ANSI Win32API::Net Win32::Locale Win32::ShellQuote DateTime::TimeZone::Local::Win32 Locale::[email protected]
- run: cpm install --verbose --show-build-log-on-failure --no-test --with-recommends --cpanfile dist/cpanfile
- run: cpm install --verbose --show-build-log-on-failure --no-test --with-recommends Test::Spelling Test::Pod Test::Pod::Coverage
- name: prove
env: { PERL5LIB: "${{ github.workspace }}/local/lib/perl5" }
run: prove -lrj4