Skip to content

ci: bump install-with-cpm to @v2 so old Perls install deps#48

Merged
toddr merged 1 commit into
mainfrom
fix-ci-pin-cpm-old-perl
Jun 30, 2026
Merged

ci: bump install-with-cpm to @v2 so old Perls install deps#48
toddr merged 1 commit into
mainfrom
fix-ci-pin-cpm-old-perl

Conversation

@toddr

@toddr toddr commented Jun 30, 2026

Copy link
Copy Markdown
Member

Problem

CI fails on every Perl ≤ 5.22 (5.8, 5.10, 5.12, 5.14, 5.16, 5.18, 5.20, 5.22) — a clean boundary at 5.24. MIN_PERL_VERSION is 5.008 and the matrix tests since-perl: 5.8, so 5.22 is just the highest failing version, not a configured limit.

The failure is in the Install Dependencies step, not the tests. Commit db41601 ("Modernize CI") pinned perl-actions/install-with-cpm@v1 (an April 2024 tag). With its default version: main, that tag downloads the latest cpm, which since cpm v0.999.0 requires Perl ≥ 5.24 (the "Lyon Amendment"):

Get cpm from URL: https://raw.githubusercontent.com/skaji/cpm/main/cpm
Perl v5.24.0 required--this is only v5.22.4, stopped at /usr/local/bin/cpm line 2.
BEGIN failed--compilation aborted at /usr/local/bin/cpm line 2.

The Tie-DBI code itself still works on old Perls — this is purely a CI tooling regression.

Fix

Upstream already solved this in install-with-cpm v2.4 (perl-actions/install-with-cpm#96): when version resolves to main, no checksum is set, and the perl is < 5.24, the action auto-substitutes cpm 0.998003 (the last pre-Lyon release); modern Perls keep getting the latest cpm.

Bump all five Install Dependencies steps from @v1 to @v2 to consume that fix. This restores the 5.8–5.22 matrix without freezing modern Perls onto an old cpm.

CI-only change — no code, $VERSION, or Changes edits.

🤖 Generated with Claude Code

The Modernize CI commit (db41601) pinned perl-actions/install-with-cpm@v1
(an April 2024 tag). With its default version: main, that tag downloads
the latest cpm, which since cpm v0.999.0 requires Perl >= 5.24 (the "Lyon
Amendment"). So the Install Dependencies step failed before tests ran on
every Perl <= 5.22:

    Perl v5.24.0 required--this is only v5.22.4, stopped at cpm line 2.

Upstream already fixed this in install-with-cpm v2.4 (PR perl-actions/
install-with-cpm#96): when version resolves to main, no checksum is set,
and the perl is < 5.24, the action auto-substitutes cpm 0.998003 (the last
pre-Lyon release); modern Perls keep getting the latest cpm.

Bump all five Install Dependencies steps to @v2 to consume that fix. This
restores the 5.8-5.22 matrix without freezing modern Perls onto an old cpm.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@toddr toddr force-pushed the fix-ci-pin-cpm-old-perl branch from 0fe7544 to 2ebc01a Compare June 30, 2026 15:31
@toddr toddr changed the title ci: pin cpm to 0.998003 so old Perls install deps ci: bump install-with-cpm to @v2 so old Perls install deps Jun 30, 2026
@toddr toddr merged commit cc4c70b into main Jun 30, 2026
48 checks passed
@toddr toddr deleted the fix-ci-pin-cpm-old-perl branch June 30, 2026 15:47
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