Skip to content

Commit 23b49b3

Browse files
authored
Merge branch 'trunk' into remove_curl
2 parents a519967 + eea0c6c commit 23b49b3

106 files changed

Lines changed: 2382 additions & 2557 deletions

File tree

Some content is hidden

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

.github/ISSUE_TEMPLATE/bug-report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ body:
5050
id: selenium-version
5151
attributes:
5252
label: What version of Selenium are you currently using?
53-
description: Important! The latest released version of Selenium is 4.43 and we can't fix old versions.
53+
description: Important! The latest released version of Selenium is 4.44 and we can't fix old versions.
5454
placeholder: e.g., 4.17.0
5555
validations:
5656
required: true

.github/workflows/bazel.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ jobs:
9494
TWINE_NIGHTLY_PASSWORD: ${{ secrets.TWINE_NIGHTLY_PASSWORD }}
9595
GEM_HOST_API_KEY: ${{ secrets.GEM_HOST_API_KEY }}
9696
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
97-
NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
9897
steps:
9998
- name: Remove extra tools to free disk space
10099
if: inputs.os == 'ubuntu'
@@ -133,9 +132,6 @@ jobs:
133132
ref: ${{ inputs.ref || github.ref }}
134133
fetch-depth: ${{ steps.depth.outputs.val }}
135134
fetch-tags: ${{ inputs.fetch-depth != '' }}
136-
- name: Fetch base ref for PR comparison
137-
if: github.event.pull_request.base.sha
138-
run: git fetch --depth=1 origin ${{ github.event.pull_request.base.sha }}
139135
- name: Pull latest changes from head ref for PRs
140136
if: contains(github.head_ref, 'renovate/')
141137
run: git pull origin "$HEAD_REF"

.github/workflows/ci-grid-ui.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- name: Setup Node.js
2727
uses: actions/setup-node@v4
2828
with:
29-
node-version: '20'
29+
node-version: '22'
3030
cache: 'npm'
3131
cache-dependency-path: 'javascript/grid-ui/package.json'
3232

.github/workflows/ci.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,13 @@ jobs:
3939
echo "Running all targets for ${{ github.event_name }} event"
4040
echo "//java/... //py:all //rb/... //dotnet/... //rust/..." > bazel-targets.txt
4141
else
42-
BASE_SHA="${{ github.event.pull_request.base.sha || github.event.before }}"
43-
HEAD_SHA="${{ github.event.pull_request.head.sha || 'HEAD' }}"
42+
if [ -n "${{ github.event.pull_request.base.sha }}" ]; then
43+
BASE_SHA="HEAD^1"
44+
else
45+
BASE_SHA="${{ github.event.before }}"
46+
fi
4447
if [ -n "$BASE_SHA" ]; then
45-
./go bazel:affected_targets "${BASE_SHA}..${HEAD_SHA}" bazel-test-file-index
48+
./go bazel:affected_targets "${BASE_SHA}..HEAD" bazel-test-file-index
4649
else
4750
./go bazel:affected_targets bazel-test-file-index
4851
fi

.github/workflows/release.yml

Lines changed: 44 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,29 @@ jobs:
9696
uses: actions/checkout@v4
9797
with:
9898
persist-credentials: false
99+
- name: Generate release notes against previous minor release
100+
env:
101+
TAG: ${{ needs.parse-tag.outputs.tag }}
102+
SHA: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
103+
run: |
104+
PREV=$(gh release list --exclude-drafts --json tagName \
105+
-q 'map(.tagName | select(test("^selenium-[0-9]+\\.[0-9]+\\.0$")))[0]')
106+
echo "Previous release tag: $PREV"
107+
{
108+
cat scripts/github-actions/release_header.md
109+
echo ""
110+
gh api -X POST "/repos/${{ github.repository }}/releases/generate-notes" \
111+
-f tag_name="$TAG" \
112+
-f previous_tag_name="$PREV" \
113+
-f target_commitish="$SHA" \
114+
--jq .body
115+
} > release_body.md
99116
- name: Create draft GitHub release
100117
uses: ncipollo/release-action@v1
101118
with:
102119
draft: true
103120
allowUpdates: true
104-
bodyFile: "scripts/github-actions/release_header.md"
105-
generateReleaseNotes: true
121+
bodyFile: "release_body.md"
106122
name: "Selenium ${{ needs.parse-tag.outputs.version }}"
107123
tag: "${{ needs.parse-tag.outputs.tag }}"
108124
commit: ${{ github.event.pull_request.merge_commit_sha || github.sha }}
@@ -138,7 +154,7 @@ jobs:
138154
artifact-name: pypi-distributions
139155
artifact-path: |
140156
bazel-bin/py/selenium-*.whl
141-
bazel-bin/py/selenium-*.tar.gz
157+
bazel-bin/py/selenium-[0-9]*.tar.gz
142158
secrets: inherit
143159

144160
publish-python:
@@ -272,9 +288,31 @@ jobs:
272288
secrets:
273289
SELENIUM_CI_TOKEN: ${{ secrets.SELENIUM_CI_TOKEN }}
274290

291+
reset-dependencies:
292+
name: Update Lockfiles for Nightly
293+
needs: [parse-tag, update-version]
294+
uses: ./.github/workflows/bazel.yml
295+
with:
296+
name: Reset Dependencies
297+
run: ./go ${{ needs.parse-tag.outputs.language }}:update${{ needs.parse-tag.outputs.language == 'all' && ' && ./go rust:update' || '' }}
298+
artifact-name: version-reset-deps
299+
300+
commit-dependencies:
301+
name: Push Nightly Lockfiles
302+
needs: [parse-tag, reset-dependencies]
303+
permissions:
304+
contents: write
305+
actions: read
306+
uses: ./.github/workflows/commit-changes.yml
307+
with:
308+
artifact-name: version-reset-deps
309+
commit-message: "[build] Update lockfiles for nightly versions"
310+
secrets:
311+
SELENIUM_CI_TOKEN: ${{ secrets.SELENIUM_CI_TOKEN }}
312+
275313
nightly:
276314
name: Publish Nightly Packages
277-
needs: [parse-tag, update-version]
315+
needs: [parse-tag, commit-dependencies]
278316
permissions:
279317
contents: write
280318
packages: write
@@ -293,7 +331,7 @@ jobs:
293331
on-release-failure:
294332
name: On Release Failure
295333
runs-on: ubuntu-latest
296-
needs: [publish, publish-python, docs, create-language-tag, github-release-draft, github-release-publish, update-version, nightly, mirror, verify]
334+
needs: [publish, publish-python, docs, create-language-tag, github-release-draft, github-release-publish, update-version, reset-dependencies, commit-dependencies, nightly, mirror, verify]
297335
if: failure()
298336
steps:
299337
- uses: actions/checkout@v4
@@ -313,6 +351,7 @@ jobs:
313351
• Docs Updated: ${{ needs.docs.result }}
314352
• GitHub Release Published: ${{ needs.github-release-publish.result }}
315353
• Nightly Version Updated: ${{ needs.update-version.result }}
354+
• Nightly Lockfiles Updated: ${{ needs.commit-dependencies.result }}
316355
• Nightly Packages: ${{ needs.nightly.result }}
317356
• Mirror Updated: ${{ needs.mirror.result }}
318357
• Packages Verified: ${{ needs.verify.result }}

AUTHORS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ ce86f3bb9faf71e <118820152+ce86f3bb9faf71e@users.noreply.github.com>
153153
Cervac Petru <petru.cervac@gmail.com>
154154
cezarelnazli <cezarelnazli@users.noreply.github.com>
155155
ch-saeki <31008335+ch-saeki@users.noreply.github.com>
156+
Chandan <mrchandansharma25@gmail.com>
156157
ChanMin Kim <kcm1700@gmail.com>
157158
Charles Lavery <clavery@pixelmedia.com>
158159
Charles Thomas <ch@rlesthom.as>
@@ -226,6 +227,7 @@ David Sanders <dsanders11@ucsbalum.com>
226227
David Shaffer <dave.shaffer@gmail.com>
227228
David Vargas <dvarrui@protonmail.com>
228229
David Wang
230+
David Zbarsky <dzbarsky@gmail.com>
229231
David Zhu <hdavidzhu@users.noreply.github.com>
230232
Debanjan Choudhury <debanjanc01@gmail.com>
231233
deedy5 <65482418+deedy5@users.noreply.github.com>
@@ -235,6 +237,7 @@ Denis Demchenko <lancedikson@gmail.com>
235237
Dennis Oelkers <dennis@graylog.com>
236238
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
237239
Derrick Isaacson <derrick@lucidchart.com>
240+
Devang <devangsabbarwal46509@gmail.com>
238241
DevineLiu <23489096+DevineLiu@users.noreply.github.com>
239242
Dharin Shah <Dharin-shah@users.noreply.github.com>
240243
Dharrya <dharrya@gmail.com>
@@ -738,6 +741,7 @@ Philipp Hancke <fippo@goodadvice.pages.de>
738741
Philippe Hanrigou <philippe.hanrigou@gmail.com>
739742
Phillip Haydon <phillip.haydon@gmail.com>
740743
phoenix384 <phoenix384@gmx.de>
744+
Pierluigi Lenoci <pierluigi.lenoci@sap.com>
741745
pinterior <pinterior@users.noreply.github.com>
742746
Piotr Witoslawski <pwitoslawski@opera.com>
743747
pitachips <hjkim3323@gmail.com>

MODULE.bazel

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ linter.configure(
7878
linter.register(name = "rust-rustfmt")
7979

8080
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
81-
node.toolchain(node_version = "20.9.0")
81+
node.toolchain(node_version = "22.22.0")
8282

8383
pnpm = use_extension(
8484
"@aspect_rules_js//npm:extensions.bzl",
@@ -185,28 +185,28 @@ maven.install(
185185
name = "maven",
186186
artifacts = [
187187
"com.beust:jcommander:1.82",
188-
"org.checkerframework:checker-qual:4.0.0",
189-
"com.github.javaparser:javaparser-core:3.28.0",
188+
"org.checkerframework:checker-qual:4.1.0",
189+
"com.github.javaparser:javaparser-core:3.28.1",
190190
"com.github.spotbugs:spotbugs:4.9.8",
191191
"com.github.stephenc.jcip:jcip-annotations:1.0-1",
192192
"com.google.code.findbugs:jsr305:3.0.2",
193-
"com.google.code.gson:gson:2.13.2",
194-
"com.google.guava:guava:33.5.0-jre",
195-
"com.github.ben-manes.caffeine:caffeine:3.2.3",
193+
"com.google.code.gson:gson:2.14.0",
194+
"com.google.guava:guava:33.6.0-jre",
195+
"com.github.ben-manes.caffeine:caffeine:3.2.4",
196196
"com.google.auto:auto-common:1.2.2",
197197
"com.google.auto.service:auto-service:1.1.1",
198198
"com.google.auto.service:auto-service-annotations:1.1.1",
199199
"com.google.googlejavaformat:google-java-format:1.35.0",
200200
"com.google.protobuf:protobuf-java:4.34.1",
201201
"com.google.protobuf.nano:protobuf-javanano:3.1.0",
202202
"com.graphql-java:graphql-java:24.1",
203-
"com.uber.nullaway:nullaway:0.13.1",
203+
"com.uber.nullaway:nullaway:0.13.4",
204204
"dev.failsafe:failsafe:3.3.2",
205-
"io.grpc:grpc-context:1.80.0",
206-
"io.fabric8:kubernetes-client:7.6.1",
207-
"io.fabric8:kubernetes-client-api:7.6.1",
208-
"io.fabric8:kubernetes-model-batch:7.6.1",
209-
"io.fabric8:kubernetes-model-core:7.6.1",
205+
"io.grpc:grpc-context:1.81.0",
206+
"io.fabric8:kubernetes-client:7.7.0",
207+
"io.fabric8:kubernetes-client-api:7.7.0",
208+
"io.fabric8:kubernetes-model-batch:7.7.0",
209+
"io.fabric8:kubernetes-model-core:7.7.0",
210210
"io.lettuce:lettuce-core:7.5.1.RELEASE",
211211
"io.netty:netty-buffer",
212212
"io.netty:netty-codec-http",
@@ -226,11 +226,11 @@ maven.install(
226226
"io.opentelemetry:opentelemetry-sdk-trace",
227227
"org.testcontainers:testcontainers:2.0.5",
228228
"javax.inject:javax.inject:1",
229-
"net.bytebuddy:byte-buddy:1.18.8",
229+
"net.bytebuddy:byte-buddy:1.18.8-jdk5",
230230
"org.htmlunit:htmlunit-core-js:4.21.0",
231-
"org.apache.logging.log4j:log4j-core:2.25.4",
231+
"org.apache.logging.log4j:log4j-core:2.26.0",
232232
"org.assertj:assertj-core:3.27.7",
233-
"org.bouncycastle:bcpkix-jdk18on:1.83",
233+
"org.bouncycastle:bcpkix-jdk18on:1.84",
234234
"org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5",
235235
"org.hsqldb:hsqldb:2.7.4",
236236
"org.jboss.marshalling:jboss-marshalling:2.3.0",
@@ -243,7 +243,7 @@ maven.install(
243243
"org.junit.platform:junit-platform-commons",
244244
"org.junit.platform:junit-platform-engine",
245245
"org.mockito:mockito-core:5.23.0",
246-
"org.redisson:redisson:4.3.1",
246+
"org.redisson:redisson:4.4.0",
247247
"org.slf4j:slf4j-api:2.0.17",
248248
"org.slf4j:slf4j-jdk14:2.0.17",
249249
"org.tomlj:tomlj:1.1.1",
@@ -252,8 +252,8 @@ maven.install(
252252
"uk.org.webcompere:system-stubs-core:2.1.8",
253253
],
254254
boms = [
255-
"io.opentelemetry:opentelemetry-bom:1.60.1",
256-
"io.netty:netty-bom:4.2.12.Final",
255+
"io.opentelemetry:opentelemetry-bom:1.62.0",
256+
"io.netty:netty-bom:4.2.13.Final",
257257
"org.junit:junit-bom:6.0.3",
258258
],
259259
excluded_artifacts = [
@@ -303,8 +303,8 @@ ruby.bundle_fetch(
303303
"ast-2.4.3": "954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383",
304304
"base64-0.3.0": "27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b",
305305
"benchmark-0.5.0": "465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c",
306-
"bigdecimal-4.1.1": "1c09efab961da45203c8316b0cdaec0ff391dfadb952dd459584b63ebf8054ca",
307-
"bigdecimal-4.1.1-java": "e24608009454797cd8705be60bd451716fc15a8065ce217aa7c8ac8fe8018856",
306+
"bigdecimal-4.1.2": "53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd",
307+
"bigdecimal-4.1.2-java": "ccc836eab720a525529f70ed0de26a206fdbc9a9e8ac67b3b4ac7318b03e114d",
308308
"concurrent-ruby-1.3.6": "6b56837e1e7e5292f9864f34b69c5a2cbc75c0cf5338f1ce9903d10fa762d5ab",
309309
"connection_pool-3.0.2": "33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a",
310310
"crack-1.0.1": "ff4a10390cd31d66440b7524eb1841874db86201d5b70032028553130b6d4c7e",
@@ -314,24 +314,24 @@ ruby.bundle_fetch(
314314
"debug-1.11.1": "2e0b0ac6119f2207a6f8ac7d4a73ca8eb4e440f64da0a3136c30343146e952b6",
315315
"diff-lcs-1.6.2": "9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962",
316316
"drb-2.2.3": "0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373",
317-
"erb-6.0.2": "9fe6264d44f79422c87490a1558479bd0e7dad4dd0e317656e67ea3077b5242b",
318-
"erb-6.0.2-java": "38f0e2e15453963fda1754d6b555b26650631cad72567304d59e6c3d847cd1be",
317+
"erb-6.0.4": "38e3803694be357fe2bfe312487c74beaf9fb4e5beb3e22498952fe1645b95d9",
318+
"erb-6.0.4-java": "3014611d37917a20e14ea3ba71e06a8d581b71c073858d7796eeee45b01e8407",
319319
"ffi-1.17.4": "bcd1642e06f0d16fc9e09ac6d49c3a7298b9789bcb58127302f934e437d60acf",
320320
"fileutils-1.8.0": "8c6b1df54e2540bdb2f39258f08af78853aa70bad52b4d394bbc6424593c6e02",
321321
"git-1.19.1": "b0a422d9f6517353c48a330d6114de4db9e0c82dbe7202964a1d9f1fbc827d70",
322322
"hashdiff-1.2.1": "9c079dbc513dfc8833ab59c0c2d8f230fa28499cc5efb4b8dd276cf931457cd1",
323323
"i18n-1.14.8": "285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5",
324324
"io-console-0.8.2": "d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc",
325325
"io-console-0.8.2-java": "837efefe96084c13ae91114917986ae6c6d1cf063b27b8419cc564a722a38af8",
326-
"irb-1.17.0": "168c4ddb93d8a361a045c41d92b2952c7a118fa73f23fe14e55609eb7a863aae",
326+
"irb-1.18.0": "de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3",
327327
"jar-dependencies-0.5.7": "013ce5f4639414ac8cf1169cdbe763da164b81e2d2c983d11042b5ff7bfcce80",
328-
"json-2.19.3": "289b0bb53052a1fa8c34ab33cc750b659ba14a5c45f3fcf4b18762dc67c78646",
329-
"json-2.19.3-java": "1043dd2d0faa46fc629db9524a75b83553e78c6d3faa1dd178b682ab698f63d5",
328+
"json-2.19.5": "218a18553e4801d579ca7e0f5bc72bafd776d7397238a1fb4e74db5b0a812c59",
329+
"json-2.19.5-java": "c3b74d6cee27c06713dbe8a8eb4ae0d3e6d0d090214f5068e55c01e7011c0976",
330330
"language_server-protocol-3.17.0.5": "fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc",
331331
"lint_roller-1.1.0": "2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87",
332332
"listen-3.10.0": "c6e182db62143aeccc2e1960033bebe7445309c7272061979bb098d03760c9d2",
333333
"logger-1.7.0": "196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203",
334-
"minitest-6.0.3": "88ac8a1de36c00692420e7cb3cc11a0773bbcb126aee1c249f320160a7d11411",
334+
"minitest-6.0.6": "153ea36d1d987a62942382b61075745042a2b3123b1cd48f4c3675af9cc7d6f1",
335335
"mutex_m-0.3.0": "cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751",
336336
"parallel-1.28.0": "33e6de1484baf2524792d178b0913fc8eb94c628d6cfe45599ad4458c638c970",
337337
"parser-3.3.11.1": "d17ace7aabe3e72c3cc94043714be27cc6f852f104d81aa284c2281aecc65d54",
@@ -345,7 +345,7 @@ ruby.bundle_fetch(
345345
"racc-1.8.1-java": "54f2e6d1e1b91c154013277d986f52a90e5ececbe91465d29172e49342732b98",
346346
"rack-2.2.23": "a8fe9d7e07064770b8ec123663fded8a59ef7e2b6db5cda7173d45a5718ab69c",
347347
"rainbow-3.1.1": "039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a",
348-
"rake-13.3.1": "8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c",
348+
"rake-13.4.2": "cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701",
349349
"rb-fsevent-0.11.2": "43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe",
350350
"rb-inotify-0.11.1": "a0a700441239b0ff18eb65e3866236cd78613d6b9f78fea1f9ac47a85e47be6e",
351351
"rbs-3.10.4": "b17d7c4be4bb31a11a3b529830f0aa206a807ca42f2e7921a3027dfc6b7e5ce8",
@@ -365,7 +365,7 @@ ruby.bundle_fetch(
365365
"rubocop-rake-0.7.1": "3797f2b6810c3e9df7376c26d5f44f3475eda59eb1adc38e6f62ecf027cbae4d",
366366
"rubocop-rspec-3.9.0": "8fa70a3619408237d789aeecfb9beef40576acc855173e60939d63332fdb55e2",
367367
"ruby-progressbar-1.13.0": "80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33",
368-
"rubyzip-3.2.2": "c0ed99385f0625415c8f05bcae33fe649ed2952894a95ff8b08f26ca57ea5b3c",
368+
"rubyzip-3.3.0": "a372fc67892a4f8c0bc8ec906b720353d8e48807a64b2e63adf99b1e3583a034",
369369
"securerandom-0.4.1": "cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1",
370370
"steep-1.10.0": "1b295b55f9aaff1b8d3ee42453ee55bc2a1078fda0268f288edb2dc014f4d7d1",
371371
"stringio-3.2.0": "c37cb2e58b4ffbd33fe5cd948c05934af997b36e0b6ca6fdf43afa234cf222e1",
@@ -380,7 +380,7 @@ ruby.bundle_fetch(
380380
"webmock-3.26.2": "774556f2ea6371846cca68c01769b2eac0d134492d21f6d0ab5dd643965a4c90",
381381
"webrick-1.9.2": "beb4a15fc474defed24a3bda4ffd88a490d517c9e4e6118c3edce59e45864131",
382382
"websocket-1.2.11": "b7e7a74e2410b5e85c25858b26b3322f29161e300935f70a0e0d3c35e0462737",
383-
"yard-0.9.39": "0bbbcd87ffd132824c3f89bbd39deef1ffb3877259090849bd49e48daeaf7b56",
383+
"yard-0.9.43": "cf8733a8f0485df2a162927e9b5f182215a61f6d22de096b8f402c726a1c5821",
384384
},
385385
gemfile = "//:rb/Gemfile",
386386
gemfile_lock = "//:rb/Gemfile.lock",

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,24 @@ You can also build a Docker image suitable
136136
for building and testing Selenium using the Dockerfile in the
137137
[dev image](scripts/dev-image/Dockerfile) directory.
138138
139+
### Using Worktrees
140+
141+
Bazel keeps its build outputs and downloaded dependencies under each checkout by default, which means
142+
working from multiple worktrees re-downloads dependencies and rebuilds artifacts.
143+
Pointing Bazel at user-level caches avoids that.
144+
145+
Add the following to `/path/to/your/home/.bazelrc`
146+
147+
```
148+
common --disk_cache=/path/to/your/home/.cache/bazel-disk
149+
common --repository_cache=/path/to/your/home/.cache/bazel-repo
150+
```
151+
152+
`--disk_cache` stores compiled action outputs; `--repository_cache` stores downloaded external
153+
dependencies (e.g. `http_archive` tarballs). Both directories grow unbounded over time — prune them
154+
periodically if disk space matters. Keep the cache on the same filesystem as your checkouts so Bazel
155+
can hardlink instead of copy.
156+
139157
## Building
140158
141159
Selenium is built using a common build tool called [Bazel](https://bazel.build/), to

Rakefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ task :release_updates, [:tag, :channel] do |_task, arguments|
116116
Rake::Task['update_multitool'].invoke
117117
Rake::Task['authors'].invoke
118118
Rake::Task['rust:version'].invoke(version)
119+
Rake::Task['rust:update'].invoke
119120
Rake::Task['rust:changelogs'].invoke
120121
end
121122

0 commit comments

Comments
 (0)