⁠Author · hub.docker.com

docker-perl-tester

This repo provides Perl Docker images baked with multiple common CPAN modules.

  • the aspell and aspell-en packages
  • cpanminus
  • App::cpm
  • Devel::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.

Read the original on hub.docker.com ↗