Skip to content

Add support for browser and platform allowlists#1

Open
jadenPete wants to merge 4 commits intomainfrom
jpeterson-adds-support-for-platform-allowlists
Open

Add support for browser and platform allowlists#1
jadenPete wants to merge 4 commits intomainfrom
jpeterson-adds-support-for-platform-allowlists

Conversation

@jadenPete
Copy link
Copy Markdown

@jadenPete jadenPete commented Apr 1, 2026

For some reason, Bazel is downloading rules_playwright browsers, causing many warnings to appear that they're missing integrity values. It's also probably slowing down our builds. This PR adds allowed_browsers and allowed_platforms options to rules_playwright's module extension that allow us to configure which browser names and platforms it declares browsers for.

It also includes the changes from this one, which are necessary for us to use newer versions of Playwright:
mrmeku#36

@jadenPete jadenPete requested a review from jjudd April 1, 2026 15:47
@jadenPete jadenPete force-pushed the jpeterson-adds-support-for-platform-allowlists branch from 4e71e1f to c7d2b90 Compare April 1, 2026 16:04
@jadenPete jadenPete changed the title Add support for platform allowlists Add support for browser and platform allowlists Apr 1, 2026
Copy link
Copy Markdown

@jjudd jjudd left a comment

Choose a reason for hiding this comment

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

Thanks for doing this. Had a few questions.

[
platform(
name = "{}_{}".format(os, cpu),
name = "{}_{}".format("linux", cpu),
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I think this hard codes things to linux, right? I doubt we can submit this upstream.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

That's right. I don't intend on submitting this commit upstream. I just didn't think it'd be worth it to wrestle with MacOS cross-compilation when I could just rip it out.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

What is being cross-compiled? The Rust code?

If it's something native that needs to be cross compiled, then I recommend dropping https://github.com/cerisier/toolchains_llvm_bootstrapped in and calling it good.

I think it will be less work to get this working and contribute it back upstream than it will be to maintain a forever fork of this ruleset.

name = "cli",
src = select(
{
"//tools/platforms:macos_x86_64": ":artifacts/cli-x86_64-apple-darwin",
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Similar thought here: how do we intend to upstream this if we're removing support for non-linux OS

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

We don't 🙃

I should've clarified that I only intend to upstream the second commit.

Cross-compilation for MacOS wasn't working with `toolchains_llvm`, so I
switched us to `toolchains_llvm_bootstrapped`. This toolchain also has
the advantage of being more hermetic and downloading less.

In order to do this, I had to upgrade `rules_rust` to v0.69.0, as older
versions aren't compatible with the linker `toolchains_llvm_boostrapped`
supplies.

Finally, I added `/bazel/bazel_downloader.cfg` to `.gitignore` so we can
configure the Bazel downloader to use our corporate cache, as I'm unable
to download the MacOS toolchain doesn't without it.
@jadenPete jadenPete force-pushed the jpeterson-adds-support-for-platform-allowlists branch from c7d2b90 to bd03ccd Compare April 2, 2026 14:46
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.

4 participants