Skip to content

[build] 03-11-26 build maintenance#6302

Merged
fhanau merged 3 commits intomainfrom
felix/031126-build-cleanup
Mar 12, 2026
Merged

[build] 03-11-26 build maintenance#6302
fhanau merged 3 commits intomainfrom
felix/031126-build-cleanup

Conversation

@fhanau
Copy link
Copy Markdown
Contributor

@fhanau fhanau commented Mar 11, 2026

03-11-26 build maintenance

  • Roll Bazel 9.0.0 : 9.0.1
  • Drop aspect_rules_lint – we ended up not using this, and it ends up pulling in several bulky dependencies which don't properly support Bazel 9 yet.
  • Update clang-tidy to latest patch release, includes a bug fix for readability- redundant-typename. Update comments in .clang-tidy
  • Do not add -UDEBUG twice in macOS CI builds
  • Ensure that on macOS ci-disable-benchmarks is set for build and not just test; benchmarks will still get built otherwise.
  • Update zlib and automate it
  • Refer to Trixie in the readme (latest Debian release). Bookworm continues to be supported as mentioned under the system requirements.

[build] Improve how lol-html C API header is imported

  • This makes future maintenance easier as we no longer need to manually update the c-api crate version when it changes.

[build] Clean up workerd includes and bazel deps

  • workerd-api.h is a very expensive header – don't include it when it is not needed.
  • C++ JSG does not depend on Rust JSG, fixing this should get rid of a number of unnecessary linker inputs

===========

Also see the workerd PR.

Copy link
Copy Markdown
Contributor

@ask-bonk ask-bonk bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm Bonk, and I've done a quick review of your PR.

Build maintenance: Bazel 9.0.1, clang-tidy 22.1.1, zlib auto-update, lol-html import cleanup, dep graph fixes, aspect_rules_lint removal, macOS CI consolidation.

Issues found:

  1. [HIGH] .clang-tidy: Removing -*, from Checks silently enables all default clang-tidy checks (~120 additional checks including clang-analyzer-*). Combined with WarningsAsErrors: '*', this will likely cause many new build failures.

This review was generated by an AI assistant and may contain inaccuracies.

@ask-bonk
Copy link
Copy Markdown
Contributor

ask-bonk bot commented Mar 11, 2026

I'm Bonk, and I've done a quick review of your PR.

The PR is a clean build maintenance batch: Bazel 9.0.1, clang-tidy 22.1.1, zlib auto-update, lol-html import cleanup via extra_aliased_targets, aspect_rules_lint removal, macOS CI -UDEBUG deduplication, and Bazel dep graph corrections (moving //src/rust/jsg from jsg to io, removing unused workerd-api.h include).

I found one high-severity issue:

  1. [HIGH] .clang-tidy -*, removal -- Removing the -*, prefix from Checks changes the config from a whitelist (only listed checks) to an additive config (all defaults + listed checks). This silently enables ~120 additional checks including clang-analyzer-*. With WarningsAsErrors: '*', this will break builds. I posted an inline suggestion to restore it.

Everything else looks correct -- the dep moves are well-motivated and verified, the lol-html alias approach is cleaner, and the macOS CI consolidation properly deduplicates the -UDEBUG flag.

github run

@fhanau
Copy link
Copy Markdown
Contributor Author

fhanau commented Mar 11, 2026

I'm Bonk, and I've done a quick review of your PR.

The PR is a clean build maintenance batch: Bazel 9.0.1, clang-tidy 22.1.1, zlib auto-update, lol-html import cleanup via extra_aliased_targets, aspect_rules_lint removal, macOS CI -UDEBUG deduplication, and Bazel dep graph corrections (moving //src/rust/jsg from jsg to io, removing unused workerd-api.h include).

I found one high-severity issue:

  1. [HIGH] .clang-tidy -*, removal -- Removing the -*, prefix from Checks changes the config from a whitelist (only listed checks) to an additive config (all defaults + listed checks). This silently enables ~120 additional checks including clang-analyzer-*. With WarningsAsErrors: '*', this will break builds. I posted an inline suggestion to restore it.

Everything else looks correct -- the dep moves are well-motivated and verified, the lol-html alias approach is cleaner, and the macOS CI consolidation properly deduplicates the -UDEBUG flag.

github run

Bonk blindly follows the comments here, which is sometimes useful but in this case they are incorrect: clang-tidy does not have a concept of default checks, so the -*, line was a no-op all along.

@fhanau fhanau marked this pull request as ready for review March 11, 2026 20:05
@fhanau fhanau requested review from a team as code owners March 11, 2026 20:05
fhanau added 3 commits March 11, 2026 22:36
- Roll Bazel 9.0.0 : 9.0.1
- Drop aspect_rules_lint – we ended up not using this, and it ends up pulling in
  several bulky dependencies which don't properly support Bazel 9 yet.
- Update clang-tidy to latest patch release, includes a bug fix for readability-
  redundant-typename. Update comments in .clang-tidy
- Do not add -UDEBUG twice in macOS CI builds
- Ensure that on macOS ci-disable-benchmarks is set for build and not just test;
  benchmarks will still get built otherwise.
- Update zlib and automate it
- Refer to Trixie in the readme (latest Debian release). Bookworm continues to
  be supported as mentioned under the system requirements.
This makes future maintenance easier as we no longer need to manually update
the c-api crate version when it changes.
- workerd-api.h is a very expensive header – don't include it when it is not
  needed.
- C++ JSG does not depend on Rust JSG, fixing this should get rid of a number of
  unnecessary linker inputs
@fhanau fhanau force-pushed the felix/031126-build-cleanup branch from efb3c0d to 6ecb144 Compare March 12, 2026 02:38
@fhanau fhanau merged commit fb5d59c into main Mar 12, 2026
22 of 23 checks passed
@fhanau fhanau deleted the felix/031126-build-cleanup branch March 12, 2026 03:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants