Repository navigation
ci: run e2e tests on arm64 runners - #1213
Merged
Merged
Conversation
Add ubuntu-24.04-arm to the e2e matrix. The earlier attempt in ClickHouse#1127 used the ubuntu-latest-arm64 label, which is not a GitHub-hosted runner, so the job waited for a runner until it timed out. ubuntu-24.04-arm is the free arm64 runner GitHub provides for public repositories. Include runner.arch in the Go and ClickHouse cache keys so the arm64 jobs do not restore the amd64 ClickHouse binary from cache. Refs ClickHouse#1128
Contributor
Author
|
Hi, gentle ping on this one when you get a chance. Happy to make any changes needed. Thanks! |
kavirajk
reviewed
Oct 19, 2026
kavirajk
approved these changes
Oct 20, 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.
Summary
Fixes #1128
Runs the e2e suite (which is
go test -v ./...against a real ClickHouse binary) on arm64 as well as amd64.Why the earlier attempt hung: in #1127 arm64 was enabled via the
ubuntu-latest-arm64runner label (from the sharedgo-faster/xworkflow'senable-arm64input). That label isn't a GitHub-hosted runner, so the job waited for a runner until it timed out. GitHub's free arm64 runner for public repositories isubuntu-24.04-arm.Changes in
.github/workflows/e2e.yml:runnermatrix dimension:ubuntu-latestandubuntu-24.04-arm;runs-ontakes it from the matrix (8 → 16 jobs).runner.archadded to the Go cache key and to the ClickHouse binary cache key. Without it, an arm64 job could restore the amd64clickhousebinary cached by an amd64 job (sameClickHouse-<version>key) and fail with an exec format error once the cache is warm.clickhouse/clickhouse-serveris a multi-arch image, sodocker createon the arm runner pulls the arm64 binary. All four tested versions publish arm64 images.Not changed:
x.yml(unit tests viago-faster/x) — itsenable-arm64uses the same label, so that would need a fix ingo-faster/xitself. Happy to follow up there if useful.The CI run on this PR is the real test of the arm64 jobs; I'll look into any arm64-only failures it surfaces.
Checklist