Skip to content

Commit

Permalink
Merge pull request #217 from rjbs/workflow
Browse files Browse the repository at this point in the history
add GitHub Actions testing with dzil workflower
  • Loading branch information
rjbs authored Feb 6, 2024
2 parents 39ade23 + 2a38967 commit 3ed2299
Showing 1 changed file with 90 additions and 0 deletions.
90 changes: 90 additions & 0 deletions .github/workflows/multiperl-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: "multiperl test"
on:
push:
branches: "*"
tags-ignore: "*"
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/deps-phase-1.txt
/tmp/cpanm --notest -S < /tmp/deps-phase-1.txt
dzil listdeps --author --missing >> /tmp/deps-phase-2.txt
/tmp/cpanm --notest -S < /tmp/deps-phase-2.txt
- 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: [ "devel", "5.36", "5.34", "5.32" ]

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

0 comments on commit 3ed2299

Please sign in to comment.