From d98eb83c067998d8b0a84895ad083eeedd4cf80c Mon Sep 17 00:00:00 2001 From: Dan Lapid Date: Fri, 17 Jan 2025 23:55:08 +0000 Subject: [PATCH] Add arm64 linux runner configurations --- .github/workflows/_bazel.yml | 2 +- .github/workflows/release.yml | 6 +++++- .github/workflows/test.yml | 1 + build/ci.bazelrc | 4 ++++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/_bazel.yml b/.github/workflows/_bazel.yml index 869ef5a5db6..b1d3887d19e 100644 --- a/.github/workflows/_bazel.yml +++ b/.github/workflows/_bazel.yml @@ -45,7 +45,7 @@ jobs: # ends up with a larger cache at the end when starting with an available cache entry, # resulting in a snowballing cache size and cache download/upload times. - name: Setup Linux - if: inputs.os_name == 'linux' + if: inputs.os_name == 'linux' || inputs.os_name == 'linux-arm' # Install dependencies, including clang through the LLVM APT repository. We drop the # install step so we can install just the packages we need. # libunwind, libc++abi1 and libc++1 should be automatically installed as dependencies of diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0b3bcb6f6f6..2beedd57edc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -56,12 +56,16 @@ jobs: build: strategy: matrix: - os: [ubuntu-22.04, macos-15, windows-2022] + os: [ubuntu-22.04, ubuntu-22.04-arm, macos-15, windows-2022] target-arch: [ X64 ] include: - os-name: linux os: ubuntu-22.04 bazel-config: release_linux + - os-name: linux + os: ubuntu-22.04-arm + bazel-config: release_linux + target-arch: ARM64 # Based on runner availability, we build both Apple Silicon and (cross-compiled) x86 # release binaries on the macos-15 runner. - os-name: macOS-x64 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e078229a6d3..2c98e3dd620 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,6 +29,7 @@ jobs: os: [ { name : linux, image : ubuntu-22.04 }, + { name : linux-arm, image : ubuntu-22.04-arm }, { name : macOS, image : macos-15 }, { name : windows, image : windows-2025 } ] diff --git a/build/ci.bazelrc b/build/ci.bazelrc index 33e57382769..a287a2a8405 100644 --- a/build/ci.bazelrc +++ b/build/ci.bazelrc @@ -52,14 +52,18 @@ build:ci-linux-common --action_env=CC=/usr/lib/llvm-16/bin/clang --action_env=CX build:ci-linux-common --host_action_env=CC=/usr/lib/llvm-16/bin/clang --host_action_env=CXX=/usr/lib/llvm-16/bin/clang++ build:ci-linux --config=ci-linux-common +build:ci-linux-arm --config=ci-linux build:ci-linux-debug --config=ci-linux-common --config=ci-limit-storage build:ci-linux-debug --config=debug --config=rust-debug +build:ci-linux-arm-debug --config=ci-linux-debug + build:ci-linux-asan --config=ci-linux-common --config=ci-limit-storage # we're really struggling to fit asan build into worker disk size # having asan without symbols is better than none build:ci-linux-asan --config=asan --copt="-g0" --strip=always +build:ci-linux-arm-asan --config=ci-linux-asan # Unlike the bazel Unix toolchain the macOS toolchain sets "-O0 -DDEBUG" for fastbuild by