-
Notifications
You must be signed in to change notification settings - Fork 7
128 lines (121 loc) · 3.43 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
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/[email protected]
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) }}