{"id":15015349,"url":"https://github.com/perl/docker-perl-tester","last_synced_at":"2025-10-19T22:31:35.554Z","repository":{"id":40481088,"uuid":"234639305","full_name":"Perl/docker-perl-tester","owner":"Perl","description":"Docker images with pre-installed test modules and test dependencies for CPAN modules","archived":false,"fork":false,"pushed_at":"2024-10-02T11:05:08.000Z","size":95,"stargazers_count":28,"open_issues_count":8,"forks_count":14,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-30T07:11:39.200Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Perl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-17T21:24:45.000Z","updated_at":"2024-10-02T11:05:12.000Z","dependencies_parsed_at":"2023-11-07T21:34:36.254Z","dependency_job_id":"e3ef9199-ba1d-48f6-b23a-0dbd0eb089bb","html_url":"https://github.com/Perl/docker-perl-tester","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Perl%2Fdocker-perl-tester","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Perl%2Fdocker-perl-tester/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Perl%2Fdocker-perl-tester/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Perl%2Fdocker-perl-tester/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Perl","download_url":"https://codeload.github.com/Perl/docker-perl-tester/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237224768,"owners_count":19275084,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest"],"created_at":"2024-09-24T19:46:56.676Z","updated_at":"2025-10-19T22:31:35.185Z","avatar_url":"https://github.com/Perl.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker-perl-tester\n\nThis repo is used to build Perl Docker images with various pre-installed bits:\n\n- the `aspell` and `aspell-en` packages\n- `cpanminus`\n- `App::cpm`\n- `Devel::Cover`\n- various testing modules\n- Dist::Zilla with some common plugins (for Perl \u003e= 5.20)\n\nAt this points images are refreshed daily, which could change overtime if it becomes an issue.\nThis should guarantee you to test uptodate CPAN stack.\n\nNote: if one dependency fails to install, this should not impact you as the image would not be published\non failures.\n\n# List of Perl modules\n\nSee also the `cpanfile` in this repo for an up to date list of available\nmodules.\n\n## Available on all Perl Versions\n\n- Code::TidyAll::Plugin::SortLines::Naturally\n- Code::TidyAll::Plugin::UniqueLines\n- Devel::Cover\n- Devel::Cover::Report::Codecov\n- Devel::Cover::Report::Coveralls\n- ExtUtils::MakeMaker\n- File::Temp\n- List::MoreUtils\n- Module::Build\n- Pod::Coverage::TrustPod\n- Test2::Bundle::Extended\n- Test2::Plugin::NoWarnings\n- Test2::Suite\n- Test2::Tools::Explain\n- Test::Builder\n- Test::CPAN::Meta\n- Test::Deep\n- Test::Differences\n- Test::EOL\n- Test::Fatal\n- Test::MinimumVersion\n- Test::MockModule\n- Test::Mojibake\n- Test::More\n- Test::Needs\n- Test::Notabs\n- Test::Pod\n- Test::Pod::Coverage\n- Test::Portability::Files\n- Test::RequiresInternet\n- Test::Simple\n- Test::Spelling\n- Test::Synopsis\n- Test::Version\n- Test::Warnings\n\n## Only on Perl 5.10 and later\n\n- Code::TidyAll::Plugin::Test::Vars\n- Test::Vars\n\n## Only on Perl 5.12 and later\n\n- Pod::Readme\n\n## Only on Perl 5.20 and later\n\n- Dist::Zilla \u0026 friends\n- Dist::Zilla::PluginBundle::Author::ETHER\n\n# Using Docker Images for your projects\n\nThe images can be found at [https://hub.docker.com/repository/docker/perldocker/perl-tester/](https://hub.docker.com/repository/docker/perldocker/perl-tester/)\n\nThe following tags are available from the repository `perldocker/perl-tester`\n\n```\ndevel\n5.40\n5.38\n5.36\n5.34\n5.32\n5.30\n5.28\n5.26\n5.24\n5.22\n5.20\n5.18\n5.16\n5.14\n5.12\n5.10\n```\n\n## devel build\n\nNote that the `devel` build was added to test on the current Perl development version. (example: `5.37.8`, )\nThis is tracking the last Perl `devel` version released.\n\n## OS flavor\n\nImages are built for both Debian `buster` and Debian `bookworm`.  The\nversions without an explicit Debian version are `buster`.\n\n# Continuous Integrations\n\n## Using the images with GitHub Workflow\n\nHere is a sample workflow for Linux running on all Perl version 5.10 to 5.40\nYou can save the content in `.github/workflow/linux.yml`.\n\nNote: this example is using cpm to install the dependencies from a cpanfile.\nYou can comment this line or use Dist::Zilla instead for supported Perl versions.\n\n```yaml\nname: linux\n\non:\n  push:\n    branches:\n      - '*'\n    tags-ignore:\n      - '*'\n  pull_request:\n\njobs:\n  perl:\n    env:\n      # some plugins still needs this to run their tests...\n      PERL_USE_UNSAFE_INC: 0\n      AUTHOR_TESTING: 1\n      AUTOMATED_TESTING: 1\n      RELEASE_TESTING: 1\n\n    runs-on: ubuntu-latest\n\n    strategy:\n      fail-fast: false\n      matrix:\n        perl-version:\n          - '5.40'\n          - '5.38'\n          - '5.36'\n          - '5.34'\n          - '5.32'\n          - '5.30'\n          - '5.28'\n          - '5.26'\n          - '5.24'\n          - '5.22'\n          - '5.20'\n          - '5.18'\n          - '5.16'\n          - '5.14'\n          - '5.12'\n          - '5.10'\n\n    container:\n      image: perldocker/perl-tester:${{ matrix.perl-version }}\n\n    steps:\n      - uses: actions/checkout@v4\n      - name: perl -V\n        run: perl -V\n      - name: Install Dependencies\n        run: cpm install -g --no-test --show-build-log-on-failure --cpanfile cpanfile\n      - name: Makefile.PL\n        run: perl Makefile.PL\n      - name: make test\n        run: make test\n```\n\n## Using Helper scripts\n\nThe scripts from [perl-actions/ci-perl-tester-helpers](https://github.com/perl-actions/ci-perl-tester-helpers) are available in the path of each container. These scripts can build and test dists for you in various scenarios. See [https://github.com/Perl-Critic/PPI/blob/master/.github/workflows/dzil-build-and-test.yml](https://github.com/Perl-Critic/PPI/blob/master/.github/workflows/dzil-build-and-test.yml) for an example of how to use the helpers to build and tests a Perl distribution.\n\n## More Examples\n\nYou can find more details on how to setup GitHub workflow to smoke Perl projects by reading [skaji/perl-github-actions-sample](https://github.com/skaji/perl-github-actions-sample) GitHub repository.\n\n## Using GitHub actions\n\nYou can also consider using GitHub actions:\n- [perl-actions/install-with-cpanm](https://github.com/perl-actions/install-with-cpanm)\n- [perl-actions/install-with-cpm](https://github.com/perl-actions/install-with-cpm)\n\n## Building Docker images\n\nWhen pushing to GitHub, it's using a GitHub action `.github/workflows/publish-to-docker.yml`\nto automagically build and publish the docker images for you.\n\nIf you consider cloning this repository, you would have to set in your GitHub repository the following secret variables, with some example values.\n\n```\nDOCKER_REPO=perldocker/perl-tester\nDOCKER_USERNAME=username\nDOCKER_GITHUB_TOKEN=a-token-or-password\n```\n\n## Developer Notes:\n\nThe main branch is named `main` and not `master`.\n\n# Author\n\n@oalders initiated the project and @atoomic tried to give it more public visibility\nvolunteers/ideas are welcome to improve the project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperl%2Fdocker-perl-tester","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fperl%2Fdocker-perl-tester","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperl%2Fdocker-perl-tester/lists"}