Skip to content

perf(ci): run jobs on arm64 hosted runners - #555

Merged
LMLiam merged 1 commit into
masterfrom
perf/ci-arm64-runners
Aug 12, 2026
Merged

perf(ci): run jobs on arm64 hosted runners#555
LMLiam merged 1 commit into
masterfrom
perf/ci-arm64-runners

Conversation

@LMLiam

@LMLiam LMLiam commented Aug 12, 2026

Copy link
Copy Markdown
Owner

What and why

GitHub arm64 hosted runners are free in public repositories and generally available (GA 2025-08-07). They use Graviton-class CPUs — GitHub measured up to 40% faster per-core than the x64 standard runners — which directly shrinks the Gradle build and test jobs that dominate CI wall-clock.

Change

Switched runs-on to ubuntu-24.04-arm for every per-PR / per-push job across 5 workflows (17 jobs):

  • ci.yml (11 jobs) — the Gradle build, test, lint, and gate jobs.
  • pr.yml (3 jobs) — Title / Commits / Labels validation.
  • maintainer-approval.yml (1 job).
  • pr-metrics-publish.yml (1 job).
  • qodana-publish.yml (1 job).

Deliberately not switched

Workflow Reason
codeql.yml CodeQL has no linux/arm64 support — the CLI bundle is x64-only; support PR github/codeql-action#4072 is still open. The action "does not work at all today" on arm64 runners.
qodana.yml, qodana-trusted.yml JetBrains qodana-action on linux/arm64 is unverified; these jobs are not a wall-clock concern. Can follow up.
release.yml, release-provenance.yml Release path, security-sensitive, runs rarely; zero wall-clock benefit.
scorecard.yml Monthly scheduled scan; zero benefit.

Verification

  • actionlint clean on all five workflows.
  • git diff --check clean.
  • CI on this PR runs the whole pipeline on arm64 end to end — the Gradle jobs will log the platform at job start. Watch the java-kotlin CodeQL job stays on x64.

Risks

  • First PR exercising the arm64 images; if any job misbehaves it fails loudly here, and reverting is a one-line-per-job change.
  • arm64 images track the same runner-images release cadence as x64.

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@LMLiam, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 8 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: c4bf5bf6-65e8-4faa-860d-67862ca8e514

📥 Commits

Reviewing files that changed from the base of the PR and between 9a2ca6d and d9d97dd.

📒 Files selected for processing (5)
  • .github/workflows/ci.yml
  • .github/workflows/maintainer-approval.yml
  • .github/workflows/pr-metrics-publish.yml
  • .github/workflows/pr.yml
  • .github/workflows/qodana-publish.yml

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the area: build Build, CI, publishing, project structure label Aug 12, 2026
@LMLiam
LMLiam force-pushed the perf/ci-arm64-runners branch from 591502c to 174ba4b Compare August 12, 2026 02:50
@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown

CI metrics

✅ Coverage 94.1% (0.0pp · gate 85%) · 📦 jars 0.0% · 🧪 1386 tests

vs master@9a2ca6d

No metric changes.


Updated for d9d97dd · Run · Dokka preview

GitHub's arm64 hosted runners are free in public repositories and
generally available. Move the per-PR and per-push jobs to ubuntu-24.04-arm.
@LMLiam
LMLiam force-pushed the perf/ci-arm64-runners branch from 174ba4b to d9d97dd Compare August 12, 2026 02:59
@LMLiam

This comment has been minimized.

@LMLiam
LMLiam merged commit 4d964ca into master Aug 12, 2026
32 checks passed
@LMLiam
LMLiam deleted the perf/ci-arm64-runners branch August 12, 2026 03:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: build Build, CI, publishing, project structure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant