Skip to content

Merge pull request #27 from zmughal-contrib/ci #1

Merge pull request #27 from zmughal-contrib/ci

Merge pull request #27 from zmughal-contrib/ci #1

Workflow file for this run

name: Run Tests
on:
workflow_dispatch:
push:
branches:
- '*'
tags-ignore:
- '*'
pull_request:
create:
jobs:
notify:
runs-on: ubuntu-latest
continue-on-error: true
if: ${{ always() }}
steps:
- uses: perlrdf/devops/github-actions/irc-notifications@main
with:
target-notifications: true
dist:
if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' }}
name: Make distribution
runs-on: ubuntu-latest
outputs:
min-perl-version: ${{ steps.build-dist.outputs.min-perl-version }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- id: build-dist
uses: perlrdf/devops/github-actions/build-dist@main
with:
dist-perl-deps-develop: >-
Config::ZOMG
Digest::MD5
Encode
FindBin
HTML::HTML5::Writer
HTTP::Headers
JSON
List::Util
Log::Any::Adapter
Log::Any::Adapter::Screen
Module::Load::Conditional
Moo
MooX::Log::Any
namespace::autoclean
parent
Plack
Plack::Middleware::CrossOrigin
Plack::Middleware::Expires
RDF::Endpoint
RDF::Generator::Void
RDF::Helper::Properties
RDF::NS::Curated
RDF::RDFa::Generator
RDF::RDFa::Parser
RDF::Trine
RDF::Trine::Serializer::RDFa
RDF::TrineX::Compatibility::Attean
Scalar::Util
Test::Exception
Test::JSON
Test::More
Test::RDF
Test::WWW::Mechanize::PSGI
Try::Tiny
Types::Standard
URI
URI::NamespaceMap
Test::Signature
Test::Perl::Critic
Test::Pod::Coverage
Test::Pod
Pod::Coverage::Moose
test:
needs: [ 'dist', 'notify' ]
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
perl: ['5']
include:
- { os: 'ubuntu-latest', perl: "5.32" }
- { os: 'ubuntu-latest', perl: "5.30" }
- { os: 'ubuntu-latest', perl: "5.20" }
- { os: 'ubuntu-latest', perl: "5.16" }
- { os: 'ubuntu-latest', perl: "5.14" }
- { os: 'ubuntu-latest', perl: "${{ needs.dist.outputs.min-perl-version }}" }
name: Perl ${{ matrix.perl }} on ${{ matrix.os }}
steps:
- name: Get dist artifact
uses: actions/download-artifact@v3
with:
name: dist
- name: Set up perl
uses: shogo82148/actions-setup-perl@v1
if: matrix.os != 'windows-latest'
with:
perl-version: ${{ matrix.perl }}
- name: Set up perl (Strawberry)
uses: shogo82148/actions-setup-perl@v1
if: matrix.os == 'windows-latest'
with:
distribution: 'strawberry'
- run: perl -V
- name: Install Perl deps
run: |
cpanm --notest --installdeps .
- name: Run tests
run: |
cpanm --verbose --test-only .
build-status:
runs-on: ubuntu-latest
continue-on-error: true
if: ${{ always() }}
needs: test
steps:
- uses: perlrdf/devops/github-actions/irc-notifications@main
with:
target-build-status: true
needs: ${{ toJSON(needs) }}