Skip to content

Upgrade CI database images: MySQL 5.6 → 8.0, PostgreSQL 9.6 → 16#277

Open
opengeek wants to merge 1 commit intomodxcms:3.xfrom
opengeek:fix/ci-db-images
Open

Upgrade CI database images: MySQL 5.6 → 8.0, PostgreSQL 9.6 → 16#277
opengeek wants to merge 1 commit intomodxcms:3.xfrom
opengeek:fix/ci-db-images

Conversation

@opengeek
Copy link
Copy Markdown
Member

@opengeek opengeek commented Mar 27, 2026

What changed and why

The CI matrix was testing against MySQL 5.6 and PostgreSQL 9.6, both of which reached EOL in 2021. Neither is a valid test target for xPDO 3.2's PHP 8.1 minimum — MySQL 5.6 + PHP 8.x is not a supported or tested configuration upstream.

More critically, the MySQL 5.6 CI job was actively masking real regressions:

Upgrading to MySQL 8.0 and PostgreSQL 16 makes the CI suite honest about the environments xPDO 3.2 is actually targeting.

Files and methods changed

  • .github/workflows/ci.ymlmysql service image: mysql:5.6mysql:8.0
  • .github/workflows/ci.ymlpostgres service image: postgres:9.6postgres:16

Cross-driver impact

CI hardening only. No xPDO source code changed.

Test coverage

No new tests. Existing MySQL and PostgreSQL test suites now run against current-generation database images.

Breaking change assessment

No public API change. This is a CI infrastructure update. Consumers running their own test suites against MySQL 5.6 or PostgreSQL 9.6 are unaffected by this change.

AI Disclosure

This PR was developed using an AI-assisted workflow. The actual configuration change — swapping two database image tags in .github/workflows/ci.yml — was straightforward; the substantive AI contribution was the analysis: identifying that the EOL database images were masking real regressions (#190, #207), confirming that MySQL 8.0 and PostgreSQL 16 are appropriate replacement targets, and drafting the PR description. @opengeek reviewed the analysis, validated the image choices, applied the change, and takes responsibility for the submission.

No tests were written (none applicable to a CI infrastructure change). No source code was written by AI.

Contributors

No external contributors associated.

MySQL 5.6 (EOL 2021) is not a valid test target for xPDO 3.2's PHP 8.1
minimum — the combination does not exist in production, and the 5.6 CI
job was masking real MySQL 8 regressions (modxcms#207, modxcms#190). PostgreSQL 9.6
(EOL 2021) receives the same treatment.
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