Skip to content

Commit b56bbad

Browse files
committed
Update IO test suite
1 parent 6b1df38 commit b56bbad

1 file changed

Lines changed: 118 additions & 54 deletions

File tree

.github/workflows/testsuite.yml

Lines changed: 118 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@ name: testsuite
33
on:
44
push:
55
branches:
6-
- "*"
6+
- '*'
77
tags-ignore:
8-
- "*"
8+
- '*'
99
pull_request:
10+
workflow_dispatch:
11+
12+
permissions: {}
1013

1114
jobs:
1215
ubuntu:
@@ -19,112 +22,173 @@ jobs:
1922
runs-on: ubuntu-latest
2023

2124
steps:
22-
- uses: actions/checkout@v2
25+
- uses: actions/checkout@v4
26+
timeout-minutes: 5
2327
- name: perl -V
2428
run: perl -V
25-
- name: Install Dependencies
26-
uses: perl-actions/install-with-cpm@v1
27-
with:
28-
cpanfile: "cpanfile"
29+
timeout-minutes: 5
2930
- name: Makefile.PL
30-
run: perl -I$(pwd) Makefile.PL
31+
run: perl Makefile.PL
32+
timeout-minutes: 5
3133
- name: make test
3234
run: make test
35+
timeout-minutes: 5
36+
37+
disttest:
38+
env:
39+
PERL_USE_UNSAFE_INC: 0
40+
AUTHOR_TESTING: 1
41+
AUTOMATED_TESTING: 1
42+
RELEASE_TESTING: 1
3343

34-
linux:
35-
name: "linux ${{ matrix.perl-version }}"
36-
needs: [ubuntu]
3744
runs-on: ubuntu-latest
3845

46+
steps:
47+
- uses: actions/checkout@v4
48+
timeout-minutes: 5
49+
- name: perl -V
50+
run: perl -V
51+
timeout-minutes: 5
52+
- name: Makefile.PL
53+
run: perl Makefile.PL
54+
timeout-minutes: 5
55+
- name: make disttest
56+
run: make disttest
57+
timeout-minutes: 5
58+
59+
xt:
3960
env:
4061
PERL_USE_UNSAFE_INC: 0
4162
AUTHOR_TESTING: 1
4263
AUTOMATED_TESTING: 1
4364
RELEASE_TESTING: 1
44-
PERL_CARTON_PATH: $GITHUB_WORKSPACE/local
65+
66+
runs-on: ubuntu-latest
67+
68+
container:
69+
image: perldocker/perl-tester:latest
70+
71+
steps:
72+
- uses: actions/checkout@v4
73+
timeout-minutes: 5
74+
- name: perl -V
75+
run: perl -V
76+
timeout-minutes: 5
77+
- name: Makefile.PL
78+
run: |
79+
perl Makefile.PL
80+
mv MYMETA.json META.json
81+
mv MYMETA.yml META.yml
82+
timeout-minutes: 5
83+
- name: extended tests
84+
run: prove -lb xt/*.t
85+
timeout-minutes: 5
86+
87+
perl-versions:
88+
runs-on: ubuntu-latest
89+
needs: [ubuntu, disttest]
90+
name: List Perl versions
91+
outputs:
92+
perl-versions: ${{ steps.action.outputs.perl-versions }}
93+
steps:
94+
- id: action
95+
uses: perl-actions/perl-versions@v1
96+
timeout-minutes: 5
97+
with:
98+
since-perl: 5.8
99+
with-devel: true
100+
101+
linux:
102+
name: "Perl ${{ matrix.perl-version }}"
103+
needs: [perl-versions]
104+
runs-on: ubuntu-latest
105+
106+
env:
107+
PERL_USE_UNSAFE_INC: 0
108+
AUTHOR_TESTING: 0
109+
AUTOMATED_TESTING: 1
110+
RELEASE_TESTING: 1
45111

46112
strategy:
113+
fail-fast: false
47114
matrix:
48-
perl-version:
49-
- "latest"
50-
- "5.36"
51-
- "5.34"
52-
- "5.32"
53-
- "5.30"
54-
- "5.28"
55-
- "5.26"
56-
- "5.24"
57-
- "5.22"
58-
- "5.20"
59-
- "5.18"
60-
- "5.16"
61-
- "5.14"
62-
- "5.12"
63-
- "5.10"
64-
- "5.8"
115+
perl-version: ${{ fromJson(needs.perl-versions.outputs.perl-versions) }}
65116

66117
container:
67-
image: perl:${{ matrix.perl-version }}
118+
image: perldocker/perl-tester:${{ matrix.perl-version }}
68119

69120
steps:
70-
- uses: actions/checkout@v2
121+
- uses: actions/checkout@v4
122+
timeout-minutes: 5
71123
- name: perl -V
72124
run: perl -V
73-
- name: Install Dependencies
74-
uses: perl-actions/install-with-cpm@v1
75-
with:
76-
sudo: false
77-
cpanfile: "cpanfile"
125+
timeout-minutes: 5
78126
- run: perl Makefile.PL
127+
timeout-minutes: 5
79128
- run: make
129+
timeout-minutes: 5
80130
- run: make test
131+
timeout-minutes: 5
81132

82133
macOS:
83134
needs: [ubuntu, linux]
84-
runs-on: macOS-latest
135+
runs-on: macos-latest
85136

86137
env:
87138
PERL_USE_UNSAFE_INC: 0
88139
AUTHOR_TESTING: 1
89140
AUTOMATED_TESTING: 1
90-
RELEASE_TESTING: 1
91-
PERL_CARTON_PATH: $GITHUB_WORKSPACE/local
141+
RELEASE_TESTING: 0
92142

93143
steps:
94-
- uses: actions/checkout@v2
144+
- uses: actions/checkout@v4
145+
timeout-minutes: 5
95146
- name: Set up Perl
96147
run: brew install perl
148+
timeout-minutes: 5
97149
- name: perl -V
98150
run: perl -V
99-
- name: Install Dependencies
100-
uses: perl-actions/install-with-cpm@v1
101-
with:
102-
sudo: false
103-
cpanfile: "cpanfile"
151+
timeout-minutes: 5
104152
- run: perl Makefile.PL
153+
timeout-minutes: 5
105154
- run: make
155+
timeout-minutes: 5
106156
- run: make test
157+
timeout-minutes: 5
107158

108159
windows:
109160
needs: [ubuntu, linux]
110161
runs-on: windows-latest
111162

163+
env:
164+
PERL_USE_UNSAFE_INC: 0
165+
AUTHOR_TESTING: 0
166+
AUTOMATED_TESTING: 1
167+
RELEASE_TESTING: 0
168+
112169
steps:
113-
- uses: actions/checkout@v2
170+
- uses: actions/checkout@v4
171+
timeout-minutes: 5
114172
- name: Set up Perl
173+
timeout-minutes: 5
115174
run: |
116175
choco install strawberryperl
117-
echo "C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin" >> $GITHUB_PATH
176+
echo @"
177+
C:\strawberry\c\bin
178+
C:\strawberry\perl\site\bin
179+
C:\strawberry\perl\bin
180+
"@ |
181+
Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
118182
- name: perl -V
119183
run: perl -V
120-
- name: Install Dependencies
121-
uses: perl-actions/install-with-cpm@v1
122-
with:
123-
sudo: false
124-
cpanfile: "cpanfile"
125-
- name: perl Makefile.PL
184+
timeout-minutes: 5
185+
- name: Makefile.PL
126186
run: perl Makefile.PL
187+
timeout-minutes: 5
127188
- name: make
128189
run: make
129-
- name: Run Tests
190+
timeout-minutes: 5
191+
- name: make test
130192
run: make test
193+
timeout-minutes: 5
194+

0 commit comments

Comments
 (0)