Skip to content

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

@renecannao

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