Skip to content

do not allow an excessive number of parts #10

do not allow an excessive number of parts

do not allow an excessive number of parts #10

Workflow file for this run

name: "multiperl test"
on: [ push, pull_request ]
# FUTURE ENHANCEMENT(s):
# * install faster (see below)
# * use github.event.repository.name or ${GITHUB_REPOSITORY#*/} as the
# tarball/build name instead of Dist-To-Test
jobs:
build-tarball:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Check out repo
uses: actions/checkout@v3
- name: Install cpanminus
run: |
curl https://cpanmin.us/ > /tmp/cpanm
chmod u+x /tmp/cpanm
- name: Install Dist::Zilla
run: sudo apt-get install -y libdist-zilla-perl
- name: Install prereqs
# This could probably be made more efficient by looking at what it's
# installing via cpanm that could, instead, be installed from apt. I
# may do that later, but for now, it's fine! -- rjbs, 2023-01-07
run: |
dzil authordeps --missing | /tmp/cpanm --notest -S
dzil listdeps --author --missing | /tmp/cpanm --notest -S
- name: Build tarball
run: |
dzil build --in Dist-To-Test
tar zcvf Dist-To-Test.tar.gz Dist-To-Test
- name: Upload tarball
uses: actions/upload-artifact@v3
with:
name: Dist-To-Test.tar.gz
path: Dist-To-Test.tar.gz
multiperl-test:
needs: build-tarball
env:
# some plugins still needs this to run their tests...
PERL_USE_UNSAFE_INC: 0
AUTHOR_TESTING: 1
AUTOMATED_TESTING: 1
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
perl-version:
- 'latest'
- '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'
container:
image: perldocker/perl-tester:${{ matrix.perl-version }}
steps:
- name: Download tarball
uses: actions/download-artifact@v3
with:
name: Dist-To-Test.tar.gz
- name: Extract tarball
run: tar zxvf Dist-To-Test.tar.gz
- name: Install dependencies
working-directory: ./Dist-To-Test
run: cpanm --installdeps --notest .
- name: Makefile.PL
working-directory: ./Dist-To-Test
run: perl Makefile.PL
- name: Install yath
run: cpanm --notest Test2::Harness
- name: Install testing libraries
run: cpanm --notest Test2::Harness::Renderer::JUnit
- name: Run the tests
working-directory: ./Dist-To-Test
run: |
JUNIT_TEST_FILE="/tmp/test-output.xml" ALLOW_PASSING_TODOS=1 yath test --renderer=Formatter --renderer=JUnit -D
- name: Publish test report
uses: mikepenz/action-junit-report@v3
if: always() # always run even if the previous step fails
with:
check_name: JUnit Report (${{ matrix.perl-version }})
report_paths: /tmp/test-output.xml