next.js
38bd101b - [ci] Migrate build_and_test and pull_request_stats to use arm64 runners (#94870)

Commit
17 days ago
[ci] Migrate build_and_test and pull_request_stats to use arm64 runners (#94870) A 16 core x86-64 runner is $0.042/minute. A 16 core arm64 runner is $0.026/minute. https://docs.github.com/en/billing/reference/actions-runner-pricing It also looks like they're faster! After factoring the performance improvement, this appears to be a ~50% cost reduction for migrated jobs. Datadog SQL: ``` SELECT REGEXP_REPLACE(ci_job_name, '\s*\([0-9]+/[0-9]+\)', '') AS ci_job_name, labels, branch, commit_date, SUM(duration) / 1000 / 1000 / 1000 / 60 as minutes, ci_pipeline_id FROM dd.ci_pipelines( columns => ARRAY ['@git.commit.committer.date', '@ci.pipeline.id', '@duration', '@git.branch', '@ci.node.labels', '@ci.job.name'], event_type => 'job', filter => '@git.repository.id_v2:github.com/vercel/next.js @ci.pipeline.name:build-and-test @ci.provider.instance:github-actions @ci.pipeline.id:(28266192824-1 OR 28266190122-2) -@ci.job.name:*changed*', from_timestamp => now() - INTERVAL '30 days', to_timestamp => now() ) AS ( commit_date VARCHAR, ci_pipeline_id VARCHAR, duration BIGINT, branch VARCHAR, labels VARCHAR, ci_job_name VARCHAR ) GROUP BY REGEXP_REPLACE(ci_job_name, '\s*\([0-9]+/[0-9]+\)', ''), labels, commit_date, branch, ci_pipeline_id ORDER BY REGEXP_REPLACE(ci_job_name, '\s*\([0-9]+/[0-9]+\)', ''), branch, commit_date, minutes; ``` https://app.datadoghq.com/ddsql/editor?ddsql_dataset_id=34de66b9-30f4-48dd-ac98-354dc7e67fdf Full Data: https://docs.google.com/spreadsheets/d/1SszR3RsPeJ13nVW5ggMakwy87fkQMqWMHbZDehHH8IA/edit?usp=sharing Here's the abbreviated data for jobs longer than 5 minutes: <img width="1187" height="656" alt="Screenshot 2026-06-26 at 4 38 00 PM" src="https://github.com/user-attachments/assets/9341039e-c4ea-405c-8d24-cdbc5ed1ba24" /> It seems like for the jobs switched over to arm64, they run in about ~73-82% of the time as arm.
Author
bgw bgw
Parents
Loading