Skip to content

Commit 0043264

Browse files
Merge branch 'trunk' into Fix15697-5
2 parents 63f26eb + 4fa3952 commit 0043264

File tree

77 files changed

+1571
-432
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+1571
-432
lines changed

.github/workflows/bazel.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@ on:
5151
required: false
5252
type: string
5353
default: ''
54+
python-version:
55+
description: Custom Python version to use
56+
required: false
57+
type: string
58+
default: ''
5459
ruby-version:
5560
description: Custom Ruby version to use
5661
required: false
@@ -101,6 +106,9 @@ jobs:
101106
if: inputs.os != 'windows'
102107
run: |
103108
sudo rm -rf "$CHROMEWEBDRIVER" "$EDGEWEBDRIVER" "$GECKOWEBDRIVER"
109+
- name: Set Python version
110+
if: inputs.python-version != ''
111+
run: echo '${{ inputs.python-version }}' > py/.python-version
104112
- name: Set Ruby version
105113
if: inputs.ruby-version != ''
106114
run: echo '${{ inputs.ruby-version }}' > rb/.ruby-version

.github/workflows/ci-python.yml

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,40 +16,38 @@ jobs:
1616
1717
docs:
1818
name: Documentation
19-
needs: build
2019
runs-on: ubuntu-latest
2120
steps:
2221
- name: Checkout source tree
2322
uses: actions/checkout@v4
24-
- name: Set up Python 3.9
23+
- name: Set up Python 3.10
2524
uses: actions/setup-python@v6
2625
with:
27-
python-version: 3.9
26+
python-version: '3.10'
2827
- name: Install dependencies
2928
run: |
3029
python -m pip install --upgrade pip
31-
pip install tox==4.30.2
30+
pip install tox
3231
- name: Generate docs
3332
run: |
3433
tox -c py/tox.ini
3534
env:
3635
TOXENV: docs
3736

38-
mypy:
39-
name: Mypy
40-
needs: build
37+
typing:
38+
name: Type Checker
4139
runs-on: ubuntu-latest
4240
steps:
4341
- name: Checkout source tree
4442
uses: actions/checkout@v4
45-
- name: Set up Python 3.9
43+
- name: Set up Python 3.10
4644
uses: actions/setup-python@v6
4745
with:
48-
python-version: 3.9
46+
python-version: '3.10'
4947
- name: Install dependencies
5048
run: |
5149
python -m pip install --upgrade pip
52-
pip install tox==4.30.2
50+
pip install tox
5351
- name: Run type checking
5452
run: |
5553
tox -c py/tox.ini || true
@@ -64,12 +62,19 @@ jobs:
6462
fail-fast: false
6563
matrix:
6664
include:
67-
- os: ubuntu
68-
- os: macos
65+
- python-version: '3.10'
66+
os: ubuntu
67+
- python-version: '3.10'
68+
os: macos
69+
- python-version: '3.14'
70+
os: ubuntu
71+
- python-version: '3.14'
72+
os: macos
6973
with:
70-
name: Unit Tests (${{ matrix.os }})
74+
name: Unit Tests (${{ matrix.python-version }}, ${{ matrix.os }})
7175
os: ${{ matrix.os }}
72-
cache-key: python-unit-test-${{ matrix.os }}
76+
python-version: ${{ matrix.python-version }}
77+
cache-key: python-unit-test-${{ matrix.python-version }}
7378
run: |
7479
bazel test //py:unit
7580
@@ -81,7 +86,7 @@ jobs:
8186
fail-fast: false
8287
matrix:
8388
include:
84-
- browser: firefox
89+
- browser: chrome
8590
with:
8691
name: Integration Tests (remote, ${{ matrix.browser }})
8792
browser: ${{ matrix.browser }}

.github/workflows/update-documentation.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,11 @@ jobs:
6666
with:
6767
java-version: 17
6868
distribution: 'temurin'
69-
- name: Set up Python 3.9
69+
- name: Set up Python 3.10
7070
if: ${{ inputs.language == 'py' || inputs.language == 'all' }}
7171
uses: actions/setup-python@v6
7272
with:
73-
python-version: 3.9
73+
python-version: '3.10'
7474
- name: Install dependencies
7575
if: ${{ inputs.language == 'py' || inputs.language == 'all' }}
7676
run: |

MODULE.bazel

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ bazel_dep(name = "rules_multitool", version = "1.3.0")
2424
bazel_dep(name = "rules_nodejs", version = "6.3.2")
2525
bazel_dep(name = "rules_oci", version = "1.8.0")
2626
bazel_dep(name = "rules_pkg", version = "1.0.1")
27-
bazel_dep(name = "rules_python", version = "1.5.0")
27+
bazel_dep(name = "rules_python", version = "1.6.3")
2828
bazel_dep(name = "rules_proto", version = "7.0.2")
2929
bazel_dep(name = "rules_ruby", version = "0.19.0")
3030

@@ -123,12 +123,12 @@ use_repo(oci, "chrome_standalone", "firefox_standalone", "java_image_base")
123123
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
124124
python.toolchain(
125125
is_default = True,
126-
python_version = "3.9",
126+
python_version = "3.10",
127127
)
128-
python.toolchain(python_version = "3.10")
129128
python.toolchain(python_version = "3.11")
130129
python.toolchain(python_version = "3.12")
131130
python.toolchain(python_version = "3.13")
131+
python.toolchain(python_version = "3.14")
132132
use_repo(python, "pythons_hub")
133133

134134
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
@@ -140,11 +140,11 @@ pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
140140
requirements_lock = "//py:requirements_lock.txt",
141141
)
142142
for version in [
143-
"3.9",
144143
"3.10",
145144
"3.11",
146145
"3.12",
147146
"3.13",
147+
"3.14",
148148
]
149149
]
150150

@@ -173,6 +173,7 @@ maven.install(
173173
name = "maven",
174174
artifacts = [
175175
"com.beust:jcommander:1.82",
176+
"org.checkerframework:checker-qual:3.49.2",
176177
"com.github.javaparser:javaparser-core:3.27.0",
177178
"com.github.spotbugs:spotbugs:4.9.6",
178179
"com.github.stephenc.jcip:jcip-annotations:1.0-1",
@@ -187,6 +188,7 @@ maven.install(
187188
"com.google.protobuf:protobuf-java:4.32.1",
188189
"com.google.protobuf.nano:protobuf-javanano:3.1.0",
189190
"com.graphql-java:graphql-java:24.1",
191+
"com.uber.nullaway:nullaway:0.12.10",
190192
"dev.failsafe:failsafe:3.3.2",
191193
"io.grpc:grpc-context:1.75.0",
192194
"io.lettuce:lettuce-core:6.8.1.RELEASE",
@@ -305,8 +307,8 @@ ruby.bundle_fetch(
305307
"io-console-0.8.1-java": "9457a61a7b23aab11e9e9ff67f71ae81d7f1a6a2e582bb5d65d754cbb546c06f",
306308
"irb-1.15.2": "222f32952e278da34b58ffe45e8634bf4afc2dc7aa9da23fed67e581aa50fdba",
307309
"jar-dependencies-0.5.5": "2972b9fcba4b014e6446a84b5c09674a3e8648b95b71768e729f0e8e40568059",
308-
"json-2.13.2": "02e1f118d434c6b230a64ffa5c8dee07e3ec96244335c392eaed39e1199dbb68",
309-
"json-2.13.2-java": "2e1292c45598a3642216820a821cba89c623f99387b8cb90adb345878f4e5c7d",
310+
"json-2.15.1": "b1c1b2e7c116eb1903e0ce0c374783e6ead8747a0f9eca132d274018ebb80b89",
311+
"json-2.15.1-java": "a6185eebe724a6937f60729e4998276d6b3de3ecc35be34f8e47c1eb40903ecf",
310312
"language_server-protocol-3.17.0.5": "fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc",
311313
"lint_roller-1.1.0": "2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87",
312314
"listen-3.9.0": "db9e4424e0e5834480385197c139cb6b0ae0ef28cc13310cfd1ca78377d59c67",

Rakefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -685,7 +685,7 @@ namespace :py do
685685
end
686686
end
687687

688-
desc 'Python Remote tests with Firefox'
688+
desc 'Python Remote tests with Chrome'
689689
task :remote do
690690
Rake::Task['py:clean'].invoke
691691
Bazel.execute('test', [], '//py:test-remote')

common/repositories.bzl

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ def pin_browsers():
1111

1212
http_archive(
1313
name = "linux_firefox",
14-
url = "https://ftp.mozilla.org/pub/firefox/releases/143.0.4/linux-x86_64/en-US/firefox-143.0.4.tar.xz",
15-
sha256 = "2cb91bd5c8755a83d65e4ef46a2ce99cfcc0b94e04673669e5e5384320384339",
14+
url = "https://ftp.mozilla.org/pub/firefox/releases/144.0/linux-x86_64/en-US/firefox-144.0.tar.xz",
15+
sha256 = "c66a48222ff67d51560240d321895c6926c9b3af345cbf688ced8517781d88d1",
1616
build_file_content = """
1717
load("@aspect_rules_js//js:defs.bzl", "js_library")
1818
package(default_visibility = ["//visibility:public"])
@@ -33,8 +33,8 @@ js_library(
3333

3434
dmg_archive(
3535
name = "mac_firefox",
36-
url = "https://ftp.mozilla.org/pub/firefox/releases/143.0.4/mac/en-US/Firefox%20143.0.4.dmg",
37-
sha256 = "332ab6fdde189325a8118a401ae445c3caf72d7a696ec3ffd96323a9c11bc8ed",
36+
url = "https://ftp.mozilla.org/pub/firefox/releases/144.0/mac/en-US/Firefox%20144.0.dmg",
37+
sha256 = "1e444b80921bc999d56c05a7decc1eaf88c0297cac5b90416299af2c77f5ecc9",
3838
build_file_content = """
3939
load("@aspect_rules_js//js:defs.bzl", "js_library")
4040
package(default_visibility = ["//visibility:public"])
@@ -50,8 +50,8 @@ js_library(
5050

5151
http_archive(
5252
name = "linux_beta_firefox",
53-
url = "https://ftp.mozilla.org/pub/firefox/releases/144.0b9/linux-x86_64/en-US/firefox-144.0b9.tar.xz",
54-
sha256 = "e0911a670d058cd5ca9cdf1929ff006aaf047cdac7cdfd66e70d752a1643df95",
53+
url = "https://ftp.mozilla.org/pub/firefox/releases/145.0b2/linux-x86_64/en-US/firefox-145.0b2.tar.xz",
54+
sha256 = "2299c53a2cea673194324c7e696986f0f319f5ac7b0ed0c08ff141b8dd95b2b5",
5555
build_file_content = """
5656
load("@aspect_rules_js//js:defs.bzl", "js_library")
5757
package(default_visibility = ["//visibility:public"])
@@ -72,8 +72,8 @@ js_library(
7272

7373
dmg_archive(
7474
name = "mac_beta_firefox",
75-
url = "https://ftp.mozilla.org/pub/firefox/releases/144.0b9/mac/en-US/Firefox%20144.0b9.dmg",
76-
sha256 = "187cbf68493ad11041c47759fd2da68f79174a2317c171513324aff461c30664",
75+
url = "https://ftp.mozilla.org/pub/firefox/releases/145.0b2/mac/en-US/Firefox%20145.0b2.dmg",
76+
sha256 = "3f4da534b1f443a83d2c96e91a1ff9d953534054096fe8c8272cda6f614fa74c",
7777
build_file_content = """
7878
load("@aspect_rules_js//js:defs.bzl", "js_library")
7979
package(default_visibility = ["//visibility:public"])
@@ -199,8 +199,8 @@ js_library(
199199

200200
http_archive(
201201
name = "linux_chrome",
202-
url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.76/linux64/chrome-linux64.zip",
203-
sha256 = "ed9ae9c5767aee31757ad866ce059e3ecb337802e9e6388094012f243dcbb3fa",
202+
url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.78/linux64/chrome-linux64.zip",
203+
sha256 = "7cef5dccaee22992de4297bd1a2ac732f7e4b47cf4543ec92e59b43f7132438c",
204204
build_file_content = """
205205
load("@aspect_rules_js//js:defs.bzl", "js_library")
206206
package(default_visibility = ["//visibility:public"])
@@ -220,8 +220,8 @@ js_library(
220220
)
221221
http_archive(
222222
name = "mac_chrome",
223-
url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.76/mac-x64/chrome-mac-x64.zip",
224-
sha256 = "e04744a286a74bdd6eff77c0f815718e6ba5d132f38374851b67acc5ba69d988",
223+
url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.78/mac-x64/chrome-mac-x64.zip",
224+
sha256 = "17fb7d9a18cdc02579641baacd88cfb726dc937372f01619b04c6e3faeee976f",
225225
strip_prefix = "chrome-mac-x64",
226226
patch_cmds = [
227227
"mv 'Google Chrome for Testing.app' Chrome.app",
@@ -241,8 +241,8 @@ js_library(
241241
)
242242
http_archive(
243243
name = "linux_chromedriver",
244-
url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.76/linux64/chromedriver-linux64.zip",
245-
sha256 = "a4b7b6fa36f1e74cdaa9518f0ce874e35c23c959a8ac37419261d8cd3be70085",
244+
url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.78/linux64/chromedriver-linux64.zip",
245+
sha256 = "91766fb286e64a2af8bf3356c43f2c316f61c2ee0b7c8aab634df3f8437b5c48",
246246
strip_prefix = "chromedriver-linux64",
247247
build_file_content = """
248248
load("@aspect_rules_js//js:defs.bzl", "js_library")
@@ -259,8 +259,8 @@ js_library(
259259

260260
http_archive(
261261
name = "mac_chromedriver",
262-
url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.76/mac-x64/chromedriver-mac-x64.zip",
263-
sha256 = "44a1cb3ffd95c9682cd7781240eda81540211749fc68790a82ed0aacf6fe2293",
262+
url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.78/mac-x64/chromedriver-mac-x64.zip",
263+
sha256 = "2ed6bb0d416aeb81eea785fcb8e6b94f5d721300052907968ec5b2383b75ff17",
264264
strip_prefix = "chromedriver-mac-x64",
265265
build_file_content = """
266266
load("@aspect_rules_js//js:defs.bzl", "js_library")
@@ -277,8 +277,8 @@ js_library(
277277

278278
http_archive(
279279
name = "linux_beta_chrome",
280-
url = "https://storage.googleapis.com/chrome-for-testing-public/142.0.7444.23/linux64/chrome-linux64.zip",
281-
sha256 = "8cfb9247d87419bd750c68b6f29424ad91474e0ee848c3f3cde04da76fbf9c2e",
280+
url = "https://storage.googleapis.com/chrome-for-testing-public/142.0.7444.34/linux64/chrome-linux64.zip",
281+
sha256 = "332faacf49d45f6d6c5f50a3407b70e908304e7944d60bc6fd1c0ed11062d9a0",
282282
build_file_content = """
283283
load("@aspect_rules_js//js:defs.bzl", "js_library")
284284
package(default_visibility = ["//visibility:public"])
@@ -298,8 +298,8 @@ js_library(
298298
)
299299
http_archive(
300300
name = "mac_beta_chrome",
301-
url = "https://storage.googleapis.com/chrome-for-testing-public/142.0.7444.23/mac-x64/chrome-mac-x64.zip",
302-
sha256 = "2024bc564c4e7e26514b8cb4740d9f3760b2f8545d573c0ba08bd2ed3f6fd85f",
301+
url = "https://storage.googleapis.com/chrome-for-testing-public/142.0.7444.34/mac-x64/chrome-mac-x64.zip",
302+
sha256 = "3745e1a1eba0287cb1762145a3a6abeefe98579b6de5715215854f92eee26d04",
303303
strip_prefix = "chrome-mac-x64",
304304
patch_cmds = [
305305
"mv 'Google Chrome for Testing.app' Chrome.app",
@@ -319,8 +319,8 @@ js_library(
319319
)
320320
http_archive(
321321
name = "linux_beta_chromedriver",
322-
url = "https://storage.googleapis.com/chrome-for-testing-public/142.0.7444.23/linux64/chromedriver-linux64.zip",
323-
sha256 = "6309f4601340d2a0c8df04e239a4696f1f5427be8e53545a2a321b640be2a0de",
322+
url = "https://storage.googleapis.com/chrome-for-testing-public/142.0.7444.34/linux64/chromedriver-linux64.zip",
323+
sha256 = "33850b3337bc92c6621e013af03323e0d6ae1e450aa1ff6b5776d47dd4d9b600",
324324
strip_prefix = "chromedriver-linux64",
325325
build_file_content = """
326326
load("@aspect_rules_js//js:defs.bzl", "js_library")
@@ -337,8 +337,8 @@ js_library(
337337

338338
http_archive(
339339
name = "mac_beta_chromedriver",
340-
url = "https://storage.googleapis.com/chrome-for-testing-public/142.0.7444.23/mac-x64/chromedriver-mac-x64.zip",
341-
sha256 = "695d4c4d71f31df7ea9d8bfccd19075662212b7fed9f9487fa2fa2aaa790faa6",
340+
url = "https://storage.googleapis.com/chrome-for-testing-public/142.0.7444.34/mac-x64/chromedriver-mac-x64.zip",
341+
sha256 = "840101066642b930b937ba5e8d7506d9a71bbb6a9a45b5a4c11c05d83aace12c",
342342
strip_prefix = "chromedriver-mac-x64",
343343
build_file_content = """
344344
load("@aspect_rules_js//js:defs.bzl", "js_library")

java/BUILD.bazel

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
load("@bazel_skylib//rules:common_settings.bzl", "string_flag")
12
load("@contrib_rules_jvm//java:defs.bzl", "spotbugs_binary", "spotbugs_config")
23
load(":defs.bzl", "artifact")
34

@@ -21,6 +22,16 @@ java_plugin(
2122
],
2223
)
2324

25+
java_plugin(
26+
name = "nullaway",
27+
visibility = [
28+
"//java:__subpackages__",
29+
],
30+
deps = [
31+
artifact("com.uber.nullaway:nullaway"),
32+
],
33+
)
34+
2435
java_library(
2536
name = "auto-service",
2637
exported_plugins = [
@@ -52,3 +63,27 @@ spotbugs_config(
5263
"//visibility:public",
5364
],
5465
)
66+
67+
string_flag(
68+
name = "nullaway_level",
69+
build_setting_default = "NONE",
70+
values = [
71+
"NONE",
72+
"WARN",
73+
"ERROR",
74+
],
75+
)
76+
77+
config_setting(
78+
name = "use_nullaway_level_warn",
79+
flag_values = {
80+
":nullaway_level": "WARN",
81+
},
82+
)
83+
84+
config_setting(
85+
name = "use_nullaway_level_error",
86+
flag_values = {
87+
":nullaway_level": "ERROR",
88+
},
89+
)

0 commit comments

Comments
 (0)