Skip to content

CI: test on Linux arm64 instead of macOS, and allow ten minutes - #7

Merged
floatdrop merged 2 commits into
mainfrom
ci-arm64
Nov 12, 2026
Merged

floatdrop merged 2 commits into
mainfrom
ci-arm64

Conversation

@floatdrop

@floatdrop floatdrop commented Nov 12, 2026 •

Copy link
Copy Markdown
Owner

Replaces macos-latest with ubuntu-24.04-arm in the test matrix.

  • macOS runners are scarce and kept PRs waiting in the queue.
  • Nothing in the module depends on the OS; what the macOS jobs gave was arm64. That matters: the lock-free reads (cslab pins, the seq counter, copies of a node's key and value) depend on memory ordering, which arm64 relaxes more than x86-64, and the inline check runs with different inlining decisions on each architecture.
  • GitHub's Linux arm64 runners are free for public repositories, so the matrix keeps x86-64 and arm64, each on Go 1.26.x and stable.
  • The race-and-coverage test step gets ten minutes instead of five. s3fifo takes about four minutes of the five on a typical runner; in Performance: shard layout, call-free wrapped reads, fixed index load #6 a runner 1.6–1.7× slower across every package ran it out of time.

macOS itself is still covered by local development on Apple Silicon.

🤖 Generated with Claude Code

floatdrop and others added 2 commits November 12, 2026 20:10
The macOS runners kept pull requests waiting in the queue, and nothing
in the module depends on the operating system. What the macOS jobs gave
was arm64: the reads that take no lock depend on the order in which
memory is written, which arm64 keeps less of than x86-64, and the
compiler inlines differently there. GitHub's Linux arm64 runners, free
for public repositories, keep that.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Under the race detector and with coverage, s3fifo takes about four
minutes of the five on a typical runner, and on a slow one, 1.7 times as
slow across every package, it ran out of time in pull request 6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@floatdrop floatdrop changed the title CI: test on Linux arm64 instead of macOS CI: test on Linux arm64 instead of macOS, and allow ten minutes Nov 12, 2026
@floatdrop
floatdrop merged commit 6e9c223 into main Nov 12, 2026
7 checks passed
@floatdrop
floatdrop deleted the ci-arm64 branch November 12, 2026 16:53
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