1"use strict";(self.webpackChunkbuildbuddy_docs_website=self.webpackChunkbuildbuddy_docs_website||[]).push([[4703],{62725(e,t,o){o.r(t),o.d(t,{assets:()=>a,contentTitle:()=>u,default:()=>c,frontMatter:()=>s,metadata:()=>n,toc:()=>d});var n=o(56326),r=o(86070),i=o(35676);const s={slug:"arm64-support",title:"Remote Builds on linux/arm64 with BuildBuddy",description:"Announcing arm64 support for remote linux builds",authors:"zoey",date:"2026-01-15:12:00:00",image:"/img/blog/postgres-support.png",tags:["product"]},u=void 0,a={authorsImageUrls:[void 0]},d=[{value:"Autoscaled Cloud ARM Support",id:"autoscaled-cloud-arm-support",level:2},{value:"Getting Started",id:"getting-started",level:2}];function l(e){const t={a:"a",code:"code",h2:"h2",img:"img",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"We're excited to announce that BuildBuddy's remote execution platform now supports the ARM64 (AArch64) architecture. This means you can run your builds and tests natively on ARM64 executors, unlocking faster builds for ARM64 targets and enabling teams to test on the same architecture they deploy to."}),"\n",(0,r.jsx)(t.h2,{id:"autoscaled-cloud-arm-support",children:"Autoscaled Cloud ARM Support"}),"\n",(0,r.jsx)(t.p,{children:"For several years now, we\u2019ve supported native ARM64 builds using Bring Your Own Runners (BYOR) or using our cloud mac build machines. As more customers transition to the ARM architecture for cost or performance reasons, we want to make it even easier for your builds to run natively on Linux + ARM64 as well. So we\u2019re closing the loop and adding support for autoscaled cloud Linux ARM64 runners. This means that no matter how big your build, we\u2019re able to handle it, and you\u2019ll only pay for the resources you actually use."}),"\n",(0,r.jsxs)(t.p,{children:["We\u2019ve made it easy to get started with ARM builds by adding support to the ",(0,r.jsx)(t.a,{href:"https://github.com/buildbuddy-io/buildbuddy-toolchain",children:(0,r.jsx)(t.code,{children:"buildbuddy-toolchain"})})," to automatically detect your architecture and set the platform appropriately. This makes maintaining a project that builds on both ARM64 and x86-64 ergonomic and easy, and removes the need for slow cross-compilation."]}),"\n",(0,r.jsx)(t.h2,{id:"getting-started",children:"Getting Started"}),"\n",(0,r.jsxs)(t.p,{children:["Configuring your Bazel build to use BuildBuddy's arm64 executors is straightforward. Add the BuildBuddy toolchain to your ",(0,r.jsx)(t.code,{children:"MODULE.bazel"})," file:"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:'bazel_dep(name = "toolchains_buildbuddy", version = "0.0.4")\n\n# Use the extension to create toolchain and platform targets\nbuildbuddy = use_extension("@toolchains_buildbuddy//:extensions.bzl", "buildbuddy")\n'})}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.img,{src:o(9287).A+"",width:"1600",height:"1146"})}),"\n",(0,r.jsx)(t.p,{children:"Then build your project with remote execution enabled, and
1your build will run on the new ARM64 executors."}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.a,{href:"https://app.buildbuddy.io/invocation/6615866d-3250-43d2-a7cb-012ee878c9a1",children:"Example ARM build"})," of ",(0,r.jsx)(t.a,{href:"https://github.com/abseil/abseil-cpp",children:"Abseil"})]}),"\n",(0,r.jsxs)(t.p,{children:["As always, please report any problems you find to us either on our ",(0,r.jsx)(t.a,{href:"https://github.com/buildbuddy-io/buildbuddy",children:"GitHub repo"})," or come chat with us on ",(0,r.jsx)(t.a,{href:"https://community.buildbuddy.io/",children:"Slack"}),"!"]})]})}function c(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},9287(e,t,o){o.d(t,{A:()=>n});const n=o.p+"assets/images/arm64_execution-d54030c0423f5f3d4e4d57bfbd82c081.png"},35676(e,t,o){o.d(t,{R:()=>s,x:()=>u});var n=o(30758);const r={},i=n.createContext(r);function s(e){const t=n.useContext(i);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function u(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),n.createElement(i.Provider,{value:t},e.children)}},56326(e){e.exports=JSON.parse('{"permalink":"/blog/arm64-support","editUrl":"https://github.com/buildbuddy-io/buildbuddy/edit/master/website/blog/arm64-support.md","source":"@site/blog/arm64-support.md","title":"Remote Builds on linux/arm64 with BuildBuddy","description":"Announcing arm64 support for remote linux builds","date":"2026-01-15T12:00:00.000Z","tags":[{"inline":true,"label":"product","permalink":"/blog/tags/product"}],"readingTime":1.54,"hasTruncateMarker":false,"authors":[{"name":"Zoey Greer","title":"Engineer @ BuildBuddy","url":"https://www.github.com/tempoz","imageURL":"https://avatars.githubusercontent.com/u/735684?v=4","key":"zoey","page":null}],"frontMatter":{"slug":"arm64-support","title":"Remote Builds on linux/arm64 with BuildBuddy","description":"Announcing arm64 support for remote linux builds","authors":"zoey","date":"2026-01-15:12:00:00","image":"/img/blog/postgres-support.png","tags":["product"]},"unlisted":false,"prevItem":{"title":"Snapshot, Chunk, Clone: Fast Runners at Scale","permalink":"/blog/fast-runners-at-scale"},"nextItem":{"title":"Action Merging","permalink":"/blog/action-merging"}}')}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.