Skip to content

CI: MySQL version matrix (5.7, 8.0, 8.4, 9.0, 9.2, 9.5, 9.6) #80

Description

@renecannao

Summary

The functional test suite currently only tests against MySQL 8.4. Orchestrator is used in production against MySQL 5.7 through 9.x, and each version has differences in replication commands, GTID behavior, and system table schemas that can cause regressions.

Proposal

  • Parameterize the functional test Docker Compose to accept a MYSQL_IMAGE variable
  • Add a GitHub Actions matrix strategy to run functional tests against: mysql:5.7, mysql:8.0, mysql:8.4, mysql:9.0, mysql:9.2, mysql:9.5, mysql:9.6
  • Handle syntax differences (e.g., CHANGE MASTER TO vs CHANGE REPLICATION SOURCE TO) in setup scripts
  • Ensure init SQL scripts are compatible across versions

Acceptance Criteria

  • Functional tests pass on all 7 MySQL versions
  • Setup scripts auto-detect MySQL version and use correct syntax
  • Matrix runs in parallel in CI
  • Failures on one version don't block other versions from completing

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions