summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrian d foy <briandfoy@pobox.com>2022-08-27 09:12:36 -0400
committerbrian d foy <briandfoy@pobox.com>2022-08-27 09:12:36 -0400
commit3dafebe2b190088970d3004499b3bdfc6d10bc35 (patch)
treed6d94ccee5b7f9e1ef7ea9021a907284b7b97404
parentb832376856696f324dcd0de3ffdfca5be9f3a352 (diff)
Update workflows
-rw-r--r--.github/workflows/linux.yml23
-rw-r--r--.github/workflows/macos.yml19
-rw-r--r--.github/workflows/windows.yml2
3 files changed, 33 insertions, 11 deletions
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
index d917e3f..daf2647 100644
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -1,5 +1,6 @@
# brian's standard GitHub Actions Ubuntu config for Perl 5 modules
-# https://github.com/briandfoy/github_actions
+# version 20220825.001
+# https://github.com/briandfoy/github_workflows
# https://github.com/features/actions
# This file is licensed under the Artistic License 2.0
name: ubuntu
@@ -10,6 +11,7 @@ on:
- '**'
- '!**windows**'
- '!**macos**'
+ - '!**release**'
tags-ignore:
# I tag release pushes but those should have already been tested
- 'release-*'
@@ -17,8 +19,10 @@ on:
# list all the files which are irrelevant to the tests
# non-code, support files, docs, etc
- '.appveyor.yml'
+ - '.gitattributes'
- '.github/workflows/macos.yml'
- '.github/workflows/windows.yml'
+ - '.github/workflows/release.yml'
- '.gitignore'
- '.releaserc'
- 'Changes'
@@ -32,8 +36,7 @@ jobs:
strategy:
matrix:
os:
- - ubuntu-18.04
- - ubuntu-20.04
+ - ubuntu-22.04
perl-version:
- '5.8'
- '5.10'
@@ -48,8 +51,8 @@ jobs:
- '5.28'
- '5.30'
- '5.32'
+ - '5.34'
- 'latest'
-
container:
image: perl:${{ matrix.perl-version }}
steps:
@@ -73,8 +76,8 @@ jobs:
- name: Install cpanm and multiple modules
run: |
curl -L https://cpanmin.us | perl - App::cpanminus
- cpanm --notest IO::Socket::SSL App::Cpan ExtUtils::MakeMaker HTTP::Tiny
- cpan -M https://www.cpan.org -T ExtUtils::MakeMaker
+ cpanm --notest IO::Socket::SSL App::Cpan HTTP::Tiny
+ cpan -M https://www.cpan.org -T ExtUtils::MakeMaker Test::Manifest
# Install the dependencies, again not testing them. This installs the
# module in the current directory, so we end up installing the module,
# but that's not a big deal.
@@ -85,6 +88,12 @@ jobs:
run: |
perl Makefile.PL
make test
+# Run author tests, but only if there's an xt/ directory
+ - name: Author tests
+ if: hashFiles('xt') != ''
+ run: |
+ cpan -M https://www.cpan.org -T Test::CPAN::Changes
+ prove -r -b xt
# Running tests in parallel should be faster, but it's also more
# tricky in cases where different tests share a feature, such as a
# file they want to write to. Parallel tests can stomp on each other.
@@ -103,6 +112,7 @@ jobs:
run: |
perl Makefile.PL
make disttest
+ make clean
# And, coverage reports, but only under 5.10 and later since modern
# Devel::Cover instances don't work with 5.8
- name: Run coverage tests
@@ -111,4 +121,5 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cpan -M https://www.cpan.org -T Devel::Cover Devel::Cover::Report::Coveralls
+ perl Makefile.PL
cover -test -report coveralls
diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml
index 7c2062c..5bb1b85 100644
--- a/.github/workflows/macos.yml
+++ b/.github/workflows/macos.yml
@@ -1,5 +1,6 @@
# brian's standard GitHub Actions macOS config for Perl 5 modules
-# https://github.com/briandfoy/github_actions
+# version 20220825.001
+# https://github.com/briandfoy/github_workflows
# https://github.com/features/actions
# This file is licensed under the Artistic License 2.0
name: macos
@@ -10,6 +11,7 @@ on:
- '**'
- '!**windows**'
- '!**linux**'
+ - '!**release**'
tags-ignore:
# I tag release pushes but those should have already been tested
- 'release-*'
@@ -17,8 +19,9 @@ on:
# list all the files which are irrelevant to the tests
# non-code, support files, docs, etc
- '.appveyor.yml'
- - '.github/workflows/ubuntu.yml'
+ - '.gitattributes'
- '.github/workflows/windows.yml'
+ - '.github/workflows/release.yml'
- '.gitignore'
- '.releaserc'
- 'Changes'
@@ -52,8 +55,8 @@ jobs:
- name: Prepare cpan
run: |
openssl version
- cpan -M http://www.cpan.org -T IO::Socket::SSL LWP::Protocol::https
- cpan -M https://www.cpan.org -T ExtUtils::MakeMaker
+ cpan -M http://www.cpan.org -T IO::Socket::SSL HTTP::Tiny
+ cpan -M https://www.cpan.org -T ExtUtils::MakeMaker Test::Manifest
# Install the dependencies, again not testing them. This installs the
# module in the current directory, so we end up installing the module,
# but that's not a big deal.
@@ -64,6 +67,12 @@ jobs:
run: |
perl Makefile.PL
make test
+# Run author tests, but only if there's an xt/ directory
+ - name: Author tests
+ if: hashFiles('xt') != ''
+ run: |
+ cpan -M https://www.cpan.org -T Test::CPAN::Changes
+ prove -r -b xt
# Running tests in parallel should be faster, but it's also more
# tricky in cases where different tests share a feature, such as a
# file they want to write to. Parallel tests can stomp on each other.
@@ -82,6 +91,7 @@ jobs:
run: |
perl Makefile.PL
make disttest
+ make clean
# And, coverage reports, but only under 5.10 and later since modern
# Devel::Cover instances don't work with 5.8
- name: Run coverage tests
@@ -90,4 +100,5 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cpan -M https://www.cpan.org -T Devel::Cover Devel::Cover::Report::Coveralls
+ perl Makefile.PL
cover -test -report coveralls
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml
index 2d89abd..bcc556a 100644
--- a/.github/workflows/windows.yml
+++ b/.github/workflows/windows.yml
@@ -22,7 +22,7 @@ on:
- '.gitattributes'
- '.github/workflows/release.yml'
- '.github/workflows/macos.yml'
- - '.github/workflows/ubuntu.yml'
+ - '.github/workflows/linux.yml'
- '.gitignore'
- '.releaserc'
- 'Changes'