Skip to content

MBS-14273 (1/3): Run second CI tests with Perl 5.42.0#3728

Draft
yvanzo wants to merge 15 commits intometabrainz:masterfrom
yvanzo:perl5420-tests-only
Draft

MBS-14273 (1/3): Run second CI tests with Perl 5.42.0#3728
yvanzo wants to merge 15 commits intometabrainz:masterfrom
yvanzo:perl5420-tests-only

Conversation

@yvanzo
Copy link
Contributor

@yvanzo yvanzo commented Feb 17, 2026

Problem

MBS-14243 is about upgrading the version of Perl from 5.38 (in production) to 5.42 to follow supported versions. It is planned for deployment with the next MusicBrainz database schema change in May 2026.

In the meantime, MBS-14273 is about making this upgrade available for development. So the MBS code should be tested with both versions of Perl until May schema change release.

Solution

  • Add a second cpanfile and snapshot
  • Add a second Docker image for tests using Perl 5.42.0 and the added cpanfile
  • Add second CI tests using the added Docker image
  • Generate reports for the added tests

Draft progress

  • Check that the added CI tests do pass
  • Check that generated reports take the added CI tests into account
  • Update documentation about maintaining cpanfile-second and its snapshot

Further action

  1. This is the first step for implementing MBS-14273.
  2. The next step will be to update the required versions of Perl module dependencies in second CI tests.
  3. The last step will be to make these changes available in development setup

The production upgrade MBS-14243 will be deployed with the May schema change release.

@yvanzo yvanzo force-pushed the perl5420-tests-only branch 5 times, most recently from e90dc21 to 236038d Compare February 18, 2026 09:26
@yvanzo yvanzo changed the title MBS-14243 (1/3): Run second CI tests with Perl 5.42.0 MBS-14273 (1/3): Run second CI tests with Perl 5.42.0 Feb 18, 2026
@yvanzo yvanzo force-pushed the perl5420-tests-only branch from 236038d to c52c4f3 Compare February 18, 2026 15:54
The new file `cpanfile-second` will be adapted in the next commits.
The ultimate goal is to add CI tests with a second Perl setup.

Reference: https://tickets.metabrainz.org/browse/MBS-14273
The content was copied from `cpanfile` in previous commit.
See MBS-14243 for the reasons to pick up Perl version 5.42.0.
The ultimate goal is to add CI tests with a second Perl setup.

Reference: https://tickets.metabrainz.org/browse/MBS-14273
The new file `cpanfile.snapshot-second` will be regenerated later on.
The ultimate goal is to add CI tests with a second Perl setup.
The new macro `set_second_perl_install_args` is adapted from the above
macro `set_perl_install_args`.
See MBS-14243 for the reasons to pick up Perl version 5.42.0.
The ultimate goal is to add CI tests with a second Perl setup.

Reference: https://tickets.metabrainz.org/browse/MBS-14273
The new `Dockerfile.second-tests.m4` will be adapted in the next commit.
Also update the `Makefile` to take the new template into account.
The ultimate goal is to add CI tests with a second Perl setup.
The content was copied from `Dockerfile.tests.m4` in previous commit.
The new template file does build tests image with a second Perl setup.
The ultimate goal is to add CI tests with a second Perl setup.
This new CI tag `SECOND_PERL_VERSION` will be used in later commits to
add CI tests with a second Perl setup.
The new `build-second-tests-image` will be adapted in the next commit.
The ultimate goal is to add CI tests with a second Perl setup.
The content was copied from `build-tests-image` in previous commit.
The new CI job does build tests image with a second Perl setup.
The ultimate goal is to add CI tests with a second Perl setup.
The new `second-js-perl-and-pgtap` will be adapted in the next commit.
The ultimate goal is to add CI tests with a second Perl setup.
The content was copied from `js-perl-and-pgtap` in previous commit.
The new CI job does run JS/Perl/pgTAP tests with a second Perl setup.
The ultimate goal is to run all CI tests with a second Perl setup.
The new `second-selenium` will be adapted in the next commit.
The ultimate goal is to run all CI tests with a second Perl setup.
The content was copied from `selenium` in previous commit.
The new CI job does run Selenium tests with a second Perl setup.
The ultimate goal is to run all CI tests with a second Perl setup.
The new `second-generate-reports` will be adapted in the next commit.
The ultimate goal is to run all CI tests with a second Perl setup.
The content was copied from `generate-reports` in previous commit.
The issue was that artifacts could not be reached from other container.
The new CI job does generate reports from jobs with a second Perl setup.
@yvanzo yvanzo force-pushed the perl5420-tests-only branch from c52c4f3 to f4f8cad Compare February 18, 2026 15:56
@mwiencek
Copy link
Member

Looks great overall though I didn't have time to thoroughly review the PR today, only noticed that the final second-generate-reports job is failing. My guess (only a guess) is that the actions/download-artifact steps need to be restricted to the second_* artifacts, as it appears they are downloading artifacts from the first jobs. (It's unclear at a glance why the second one is failing though, I'd expect the same result from the same set of artifacts.)

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.

2 participants