ci: add arm64 unit test jobs and run all flavors on Oracle VM runners#20282
Merged
Conversation
Contributor
Review ChecklistHello reviewers! 👋 Please follow this checklist when reviewing this Pull Request. General
Tests
Documentation
New flags
If a workflow is added or modified:
Backward compatibility
|
Contributor
There was a problem hiding this comment.
Pull request overview
This PR expands CI unit-test coverage by adding arm64 unit-test jobs (MySQL 8.0 only) and standardizes runner selection so that, in vitessio/vitess, all unit-test flavors run on the 16‑CPU Oracle VM runners (x86_64 or arm64 depending on the matrix entry). It also updates the internal MySQL setup composite action to install MySQL differently on arm64, since Oracle’s apt repo does not publish arm64 Ubuntu packages.
Changes:
- Add two new arm64 matrix entries for
mysql80unit tests (with and without evalengine). - Switch unit-test runner selection to Oracle VM runners for all matrix variants when running in-repo, with arch-aware runner selection.
- Update the
setup-mysqlcomposite action to install MySQL 8.0 from Ubuntu archives on arm64, while preserving Oracle apt-repo installation on amd64.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
.github/workflows/unit_test.yml |
Adds arm64 unit-test matrix entries and updates runs-on / job naming to be arch-aware and to use Oracle VM runners in-repo. |
.github/actions/setup-mysql/action.yml |
Adds arm64-aware install path (Ubuntu archive MySQL 8.0 only) and keeps Oracle apt-repo install flow for amd64 flavors. |
Member
Author
|
This seems to have uncovered a flaky behavior in the connection pool code on ARM64: |
5 tasks
Add two arm64 unit test matrix entries (mysql80, evalengine on/off) running on arm64 runners. Oracle's apt repo only publishes amd64 packages for Ubuntu, so on arm64 the setup-mysql action installs MySQL 8.0 from the Ubuntu archive instead; other flavors are not available on arm64. Inside vitessio/vitess, all unit test jobs (not just race) now run on the 16-CPU Oracle VM runners, picking the x86-64 or arm64 variant based on the matrix arch. Forks keep using the GitHub-hosted ubuntu-24.04 and ubuntu-24.04-arm runners. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Arthur Schreiber <arthur@planetscale.com>
afc41c2 to
19cf85e
Compare
mhamza15
approved these changes
Jun 11, 2026
Signed-off-by: Arthur Schreiber <arthur@planetscale.com> # Conflicts: # .github/actions/setup-mysql/action.yml
maxenglander
approved these changes
Jun 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This adds arm64 coverage to the unit test workflow and moves all unit test flavors onto the 16-CPU Oracle VM runners when running inside
vitessio/vitess.Two new matrix entries run the mysql80 unit tests (with and without the evalengine) on arm64. Oracle's apt repo only publishes amd64 packages for Ubuntu, so on arm64 the
setup-mysqlaction now installs MySQL 8.0 from the Ubuntu archive instead — that's also why arm64 coverage is limited to mysql80 for now (no 5.7 or 8.4 packages exist for arm64; adding 8.4 would need Oracle's generic aarch64 tarballs).Once we've got this up and running, I think it might make sense to investigate installing MySQL via the aarch64 tarballs on ARM64 instead to also get MySQL 8.4 unit tests running against ARM64.
Previously only the race jobs ran on
oracle-vm-16cpu-64gb-x86-64. Now all jobs use the Oracle VMs in-repo, picking-x86-64or-arm64based on the matrix arch. Forks keep using the GitHub-hostedubuntu-24.04/ubuntu-24.04-armrunners.Related Issue(s)
N/A
Checklist
Deployment Notes
N/A — CI-only change.
AI Disclosure
This PR was written by Claude Code, with direction and review from me.