Configure the OS workflow to run monthly #1044
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow is intended to be the default to check for compatibility across | |
# operating systems without much overhead. It uses the latest version of Perl on | |
# the latest versions of Ubuntu, macOS, and Windows. Think of it as a quick | |
# check for working branches. | |
name: πΏ OS | |
on: | |
push: | |
branches: ['*'] | |
pull_request: | |
schedule: | |
- cron: '0 14 2 * *' # Monthly at 2pm on the second | |
jobs: | |
OS: | |
strategy: | |
matrix: | |
include: | |
- { icon: π§, on: ubuntu, name: Linux } | |
- { icon: π, on: macos, name: macOS } | |
- { icon: πͺ, on: windows, name: Windows } | |
name: ${{ matrix.icon }} ${{ matrix.name }} | |
runs-on: ${{ matrix.on }}-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Perl | |
id: perl | |
uses: shogo82148/actions-setup-perl@v1 | |
with: { perl-version: latest } | |
- run: perl -V | |
- if: runner.os == 'Linux' | |
name: Install Apt Packages | |
run: sudo apt-get install -qq aspell-en language-pack-fr language-pack-en language-pack-de language-pack-it | |
- name: Cache CPAN Modules | |
uses: actions/cache@v4 | |
with: | |
path: local | |
key: perl-${{ steps.perl.outputs.perl-hash }} | |
- run: cpm install --verbose --show-build-log-on-failure --no-test --with-recommends ExtUtils::MakeMaker List::MoreUtils::XS | |
- if: runner.os == '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 | |
- 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 |