Skip to content

ci: add dynamic perl version matrix testing#1786

Draft
toddr-bot wants to merge 1 commit intoPerlDancer:mainfrom
toddr-bot:koan.toddr.bot/perl-version-matrix
Draft

ci: add dynamic perl version matrix testing#1786
toddr-bot wants to merge 1 commit intoPerlDancer:mainfrom
toddr-bot:koan.toddr.bot/perl-version-matrix

Conversation

@toddr-bot
Copy link

@toddr-bot toddr-bot commented Mar 20, 2026

What

Add dynamic perl version matrix to CI for comprehensive compatibility testing across all available perl versions.

Why

The existing CI tests only 3 perl versions (latest, 5.36, 5.20) with many versions commented out in test-on-clean-perl. This leaves gaps in compatibility visibility — breakage on perl 5.22, 5.26, 5.30, etc. would go unnoticed. Inspired by YAML-Syck's approach, the new jobs dynamically discover all available perl versions so the matrix stays current without manual updates.

How

Two new jobs added (existing jobs untouched):

  • perl-versions: Uses perl-actions/perl-versions@v1 to discover all perl versions since 5.14 (including devel releases), outputting them as a JSON array.
  • test-perl-matrix: Consumes that list as a dynamic matrix, installing the Dancer2 artifact (from build-in-container) on each version via perldocker/perl-tester containers.

The since-perl: 5.14 floor was chosen because Dancer2 declares use 5.12.0 and 5.14 is the oldest version with reliable Docker images. with-devel: true gives visibility into upcoming perl releases.

Testing

  • YAML validated with Python's yaml parser
  • Structure mirrors the proven YAML-Syck pattern
  • CI will run on this PR to validate the workflow

🤖 Generated with Claude Code


Quality Report

Changes: 1 file changed, 42 insertions(+)

Code scan: clean

Tests: skipped

Branch hygiene: clean

Generated by Kōan post-mission quality pipeline

…esting

Add two new CI jobs inspired by YAML-Syck's testsuite.yml:
- perl-versions: uses perl-actions/perl-versions@v1 to dynamically
  discover all available perl versions since 5.14 (including devel)
- test-perl-matrix: installs the built Dancer2 artifact across every
  discovered perl version using perldocker/perl-tester containers

This enhances (does not replace) the existing CI jobs, providing
visibility into perl version compatibility across the full spectrum.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant