Skip to content

Commit 7adb378

Browse files
authored
Merge pull request #5272 from cloudflare/felix/092925-build-maintenance
10-08-25 build maintenance
2 parents d4c3713 + 5b0d4bd commit 7adb378

File tree

7 files changed

+17
-19
lines changed

7 files changed

+17
-19
lines changed

.bazelrc

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,6 @@ build:windows --per_file_copt=external/simdutf@/clang:-fno-exceptions
9090
build:unix --per_file_copt=external/v8/src/torque@-fexceptions
9191
build:windows --per_file_copt=external/v8/src/torque@/clang:-fexceptions
9292

93-
# Disable relaxing all jumps during LLVM codegen under -O0, which previously led to build
94-
# performance improvements but makes code size worse. This will be the default in LLVM19.
95-
# https://maskray.me/blog/2024-04-27-clang-o0-output-branch-displacement-and-size-increase
96-
build:unix --copt="-mno-relax-all" --host_copt="-mno-relax-all"
97-
9893
# Limit transitive header includes within libc++. This improves compliance with IWYU, helps avoid
9994
# errors with downstream projects that implicitly define this already and reduces total include size.
10095
https://libcxx.llvm.org/DesignDocs/HeaderRemovalPolicy.html

.github/actions/setup-runner/action.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,6 @@ runs:
3838
git config --show-scope --show-origin core.symlinks
3939
git config --system core.longpaths true
4040
[System.IO.File]::WriteAllLines((Join-Path -Path $env:USERPROFILE -ChildPath '.bazelrc'), 'startup --output_user_root=\\\\?\\C:\\tmp')
41-
- name: Setup macOS
42-
if: runner.os == 'macOS'
43-
shell: bash
44-
run: |
45-
# Build using Xcode 16.3 (equivalent to Clang 19)
46-
sudo xcode-select -s "/Applications/Xcode_16.3.app"
4741
- name: Configure git hooks
4842
shell: bash
4943
# Configure git to quell an irrelevant warning for runners (they never commit / push).

.github/workflows/_bazel.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ jobs:
113113
# support. Since we still need symlinks to compile C++ code properly, compile these targets
114114
# separately.
115115
run: |
116-
bazel --nowindows_enable_symlinks build ${{ inputs.extra_bazel_args }} --config=ci --remote_cache=https://bazel:${{ secrets.BAZEL_CACHE_KEY }}@bazel-remote-cache.devprod.cloudflare.dev //src/wpt:wpt-all@tsproject //src/node:node@tsproject //src/pyodide:pyodide_static@tsproject
116+
bazel --nowindows_enable_symlinks build ${{ inputs.extra_bazel_args }} --config=ci --profile build-win-workaround.bazel-profile.gz --remote_cache=https://bazel:${{ secrets.BAZEL_CACHE_KEY }}@bazel-remote-cache.devprod.cloudflare.dev //src/wpt:wpt-all@tsproject //src/node:node@tsproject //src/pyodide:pyodide_static@tsproject
117117
- name: Bazel build
118118
# timestamps are no longer being added here, the GitHub logs include timestamps (Use
119119
# 'Show timestamps' on the web interface)
@@ -158,6 +158,12 @@ jobs:
158158
name: ${{ inputs.os_name }}-${{ inputs.arch_name }}${{ inputs.suffix }}-binary
159159
path: bazel-bin/src/workerd/server/workerd${{ runner.os == 'Windows' && '.exe' || '' }}
160160
if-no-files-found: error
161+
- name: Upload build statistics
162+
if: inputs.run_tests
163+
uses: actions/upload-artifact@v4
164+
with:
165+
name: ${{ inputs.os_name }}${{ inputs.arch_name }}${{ inputs.suffix }}-bazel-profile
166+
path: '*.bazel-profile.gz'
161167

162168
- name: Drop large Bazel cache files
163169
if: always()

.github/workflows/release.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,17 +86,17 @@ jobs:
8686
bazel-config: release_linux
8787
target-arch: ARM64
8888
# Based on runner availability, we build both Apple Silicon and (cross-compiled) x86
89-
# release binaries on the macos-15 runner.
89+
# release binaries on the macos-26 runner.
9090
- title: macOS-x64
9191
os-name: macOS
92-
# This configuration is used for cross-compiling – macos-15 is Apple Silicon-based but
92+
# This configuration is used for cross-compiling – macos-26 is Apple Silicon-based but
9393
# we use it to compile the x64 release.
94-
image: macos-15
94+
image: macos-26
9595
bazel-config: release_macos_cross_x86_64
9696
target-arch: X64
9797
- title: macOS-arm64
9898
os-name: macOS
99-
image: macos-15
99+
image: macos-26
100100
bazel-config: release_macos
101101
target-arch: ARM64
102102
- title: windows

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
[
3636
{ name: linux, arch: X64, image: ubuntu-22.04 },
3737
{ name: linux-arm, arch: ARM64, image: ubuntu-22.04-arm },
38-
{ name: macOS, arch: ARM64, image: macos-15 },
38+
{ name: macOS, arch: ARM64, image: macos-26 },
3939
{ name: windows, arch: X64, image: windows-2025 },
4040
]
4141
config: [
@@ -60,7 +60,7 @@ jobs:
6060
# due to resource constraints, exclude the macOS and x64 Linux debug runners for now.
6161
# linux-asan and arm64 linux-debug should provide sufficient coverage for building in the
6262
# debug configuration.
63-
- os: { name: macOS, arch: ARM64 ,image: macos-15 }
63+
- os: { name: macOS, arch: ARM64, image: macos-26 }
6464
config: { suffix: -debug }
6565
- os: { name: linux, arch: X64, image: ubuntu-22.04 }
6666
config: { suffix: -debug }

Dockerfile.release

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM node:bullseye AS builder
1+
FROM node:trixie AS builder
22

33
WORKDIR /workerd
44

build/ci.bazelrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ build:ci --color=yes
2323
# Indicate support for more terminal columns, 100 is the line length recommended by KJ style.
2424
build:ci --terminal_columns=100
2525

26+
# Emit build profile so that slow builds can be investigated
27+
build:ci --profile build.bazel-profile.gz
28+
test:ci --profile test.bazel-profile.gz
2629
test:ci --test_output=errors --test_summary=terse
2730
build:ci --disk_cache=~/bazel-disk-cache
2831

0 commit comments

Comments
 (0)