docker-perl-tester
This repo provides Perl Docker images baked with multiple common CPAN modules.
- the
aspellandaspell-enpackages cpanminusApp::cpmDevel::Cover- various testing modules
- Dist::Zilla with some common plugins (for Perl >= 5.14)
At this points images are refreshed daily, which could change overtime if it becomes an issue. This should guarantee you to test uptodate CPAN stack.
Note: if one dependency fails to install, this should not impact you as the image would not be published on failures.
List of Perl modules
Available on all Perl Versions
- Code::TidyAll::Plugin::SortLines::Naturally
- Code::TidyAll::Plugin::UniqueLines
- Devel::Cover
- Devel::Cover::Report::Codecov
- Devel::Cover::Report::Coveralls
- File::Temp
- List::MoreUtils
- Module::Build
- Pod::Coverage::TrustPod
- Test2::Bundle::Extended
- Test2::Plugin::NoWarnings
- Test2::Suite
- Test2::Tools::Explain
- Test::Builder
- Test::CPAN::Meta
- Test::Deep
- Test::Differences
- Test::EOL
- Test::Fatal
- Test::MinimumVersion
- Test::MockModule
- Test::Mojibake
- Test::More
- Test::Needs
- Test::Pod
- Test::Pod::Coverage
- Test::Portability::Files
- Test::RequiresInternet
- Test::Spelling
- Test::Synopsis
- Test::Version
- Test::Warnings
Only on Perl 5.10 and later
- Code::TidyAll::Plugin::Test::Vars
- Pod::Readme
- Test::Vars
Only on Perl 5.14 and later
- Dist::Zilla & friends
- Dist::Zilla::PluginBundle::Author::ETHER
Using Docker Images for your projects
The images can be found at https://hub.docker.com/repository/docker/perldocker/perl-tester/
The following tags are available from the repository perldocker/perl-tester
5.30
5.28
5.26
5.24
5.22
5.20
5.18
5.16
5.14
5.12
5.10
5.8
Continuous Integrations
Using the images with GitHub Workflow
Here is a sample workflow for Linux running on all Perl version 5.8 to 5.30
You can save the content in .github/workflow/linux.yml.
Note: this example is using cpm to install the dependencies from a cpanfile. You can comment this line or use Dist::Zilla instead for supported Perl versions.
name: linux
on:
push:
branches:
- '*'
tags-ignore:
- '*'
pull_request:
jobs:
perl:
env:
# some plugins still needs this to run their tests...
PERL_USE_UNSAFE_INC: 0
AUTHOR_TESTING: 1
AUTOMATED_TESTING: 1
RELEASE_TESTING: 1
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
perl-version:
- 'latest'
- '5.28'
- '5.26'
- '5.24'
- '5.22'
- '5.20'
- '5.18'
- '5.16'
- '5.14'
- '5.12'
- '5.10'
- '5.8'
container:
image: perldocker/perl-tester:${{ matrix.perl-version }}
steps:
- uses: actions/checkout@v1
- name: perl -V
run: perl -V
- name: Install Dependencies
run: cpm install -g --no-test --show-build-log-on-failure --cpanfile cpanfile
- name: Makefile.PL
run: perl Makefile.PL
- name: make test
run: make test
GitHub repository
https://github.com/Perl/docker-perl-tester
@oalders initiated the project and @atoomic tried to give it more public visibility volunteers/ideas are welcome to improve the project.