-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
183 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,93 @@ | ||
# brian's standard GitHub Actions macOS config for Perl 5 modules | ||
# https://github.com/briandfoy/github_actions | ||
# https://github.com/features/actions | ||
# This file is licensed under the Artistic License 2.0 | ||
name: macos | ||
|
||
on: | ||
push: | ||
branches: | ||
- '*' | ||
- '**' | ||
- '!**windows**' | ||
- '!**linux**' | ||
tags-ignore: | ||
- '*' | ||
# I tag release pushes but those should have already been tested | ||
- 'release-*' | ||
paths-ignore: | ||
# list all the files which are irrelevant to the tests | ||
# non-code, support files, docs, etc | ||
- '.appveyor.yml' | ||
- '.github/workflows/ubuntu.yml' | ||
- '.github/workflows/windows.yml' | ||
- '.gitignore' | ||
- '.releaserc' | ||
- 'Changes' | ||
- 'LICENSE' | ||
- 'README.pod' | ||
pull_request: | ||
|
||
jobs: | ||
perl: | ||
runs-on: macOS-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Platform check | ||
run: uname -a | ||
- name: Set up Perl | ||
run: brew install perl | ||
run: | | ||
brew install perl | ||
ls -d /usr/local/Cellar/perl/*/bin | head -1 >> $GITHUB_PATH | ||
perl -v | perl -0777 -ne 'm/(v5\.\d+)/ && print "PERL_VERSION=$1"' >> $GITHUB_ENV | ||
- name: Perl version check | ||
run: perl -V | ||
# cpan can operate with https, but we need IO::SSL::Socket, which | ||
# does not come with Perl. | ||
# | ||
# When using cpan, use -M to specify the CDN-backed www.cpan.org | ||
# mirror. I've noticed that letting CPAN.pm auto-choose mirrors | ||
# sometimes selects things that the action can't reach. | ||
# | ||
# Also, use the -T option to not test the dependencies. Assume these | ||
# mainline modules are good and save lots of CI minutes. | ||
- name: Prepare cpan | ||
run: | | ||
openssl version | ||
cpan -M https://www.cpan.org -T Net::SSLeay IO::Socket::SSL ExtUtils::MakeMaker | ||
cpan -M http://www.cpan.org -T IO::Socket::SSL LWP::Protocol::https | ||
cpan -M https://www.cpan.org -T ExtUtils::MakeMaker | ||
# 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. | ||
- name: Install dependencies | ||
run: | | ||
cpan -M https://www.cpan.org -T . | ||
- name: Run tests | ||
run: | | ||
perl Makefile.PL | ||
make test | ||
# 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. | ||
# Test in parallel to catch that, because other people will test your | ||
# stuff in parallel. | ||
- name: Run tests in parallel | ||
run: | | ||
perl Makefile.PL | ||
HARNESS_OPTIONS=j10 make test | ||
# The disttest target creates the distribution, unwraps it, changes | ||
# into the dist dir, then runs the tests there. That checks that | ||
# everything that should be in the dist is in the dist. If you forget | ||
# to update MANIFEST with new modules, data files, and so on, you | ||
# should notice the error. | ||
- name: Run distribution tests | ||
run: | | ||
perl Makefile.PL | ||
make disttest | ||
# 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 | ||
if: env.PERL_VERSION != 'v5.8' | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
cpan -M https://www.cpan.org -T Devel::Cover Devel::Cover::Report::Coveralls | ||
cover -test -report coveralls |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters