Skip to content

WIP

WIP #397

Workflow file for this run

name: linux
on:
push:
branches: [ '*' ]
pull_request:
branches: [ master ]
workflow_dispatch:
branches: [ '*' ]
jobs:
perl:
runs-on: ubuntu-latest
strategy:
matrix:
perl-version:
- '5.8'
- '5.10'
- '5.12'
- '5.14'
- '5.16'
- '5.18'
- '5.20'
- '5.22'
- '5.24'
- '5.26'
- '5.28'
- '5.30'
- '5.32'
- '5.34'
- '5.36'
- '5.38'
container:
image: perl:${{ matrix.perl-version }}
steps:
- uses: actions/checkout@v3
- run: env | sort
- run: perl -V
- name: Add testsuite worktree
run: |
# .git/ doesn't seem to exist for all containers
if [ -d .git ]; then
git config --global --add safe.directory '*'
git fetch --depth=1 origin refs/heads/test-suite
git branch test-suite --track origin/test-suite
git worktree add test-suite test-suite
else
echo "Running without yaml-test-suite data"
fi
- name: Install optional dep
run: cpanm --notest Test::Deep || true
- name: Install deps
run: >
cpanm --quiet --notest
Module::Load Test::Warn Test::More JSON::PP boolean
- name: Run Tests
run: prove -lr t
cover:
runs-on: ubuntu-latest
container:
image: perl:5.38
steps:
- uses: actions/checkout@v3
- run: env | sort
- run: perl -V
- name: Add testsuite worktree
run: |
git config --global --add safe.directory '*'
git fetch --depth=1 origin refs/heads/test-suite
git branch test-suite --track origin/test-suite
git worktree add test-suite test-suite
- name: Install deps
run: >
cpanm --quiet --notest --skip-satisfied
Devel::Cover Devel::Cover::Report::Codecovbash
Module::Load Test::Deep Test::Warn Test::More JSON::PP boolean
- name: Run Tests
run: >
PERL5OPT="-MDevel::Cover=-db,cover_db,-select,^lib,-ignore,^t/|bin/prove|^examples"
prove -lr t
cover -report codecovbash
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
file: ./cover_db/codecov.json
fail_ci_if_error: true
verbose: true
spelling:
runs-on: ubuntu-latest
container:
image: perl:5.38
steps:
- uses: actions/checkout@v3
- run: env | sort
- run: perl -V
- name: Install deps
run: >
apt-get update && apt-get install -y aspell
cpanm --quiet --notest Pod::Spell Test::Spelling Test::Pod
- name: Run Tests
run: prove -lv xt/03.spelling.t xt/04.pod.t