Skip to content

Commit 49f1347

Browse files
Merge branch 'trunk' into local-value
2 parents 2ae4fad + 9ef1441 commit 49f1347

File tree

89 files changed

+680
-5904
lines changed

Some content is hidden

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

89 files changed

+680
-5904
lines changed

.bazelrc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,9 @@ build:release --stamp
119119
build:release --compilation_mode=opt
120120

121121
# As regular `release` but all the build work happens on the RBE
122-
build:remote_release --config=release
123-
build:remote_release --config=remote
124-
build:remote_release --remote_download_toplevel
122+
build:rbe_release --config=release
123+
build:rbe_release --config=rbe
124+
build:rbe_release --remote_download_toplevel
125125

126126
# RBE
127127
import %workspace%/.bazelrc.remote

.bazelrc.remote

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,68 @@
11
# The RBE to use
2-
build:remote --bes_results_url=https://gypsum.cluster.engflow.com/invocation
3-
build:remote --bes_backend=grpcs://gypsum.cluster.engflow.com
4-
build:remote --remote_executor=grpcs://gypsum.cluster.engflow.com
5-
build:remote --remote_cache=grpcs://gypsum.cluster.engflow.com
2+
build:rbe --bes_results_url=https://gypsum.cluster.engflow.com/invocation
3+
build:rbe --bes_backend=grpcs://gypsum.cluster.engflow.com
4+
build:rbe --remote_executor=grpcs://gypsum.cluster.engflow.com
5+
build:rbe --remote_cache=grpcs://gypsum.cluster.engflow.com
66

77
# The number of cores available
8-
build:remote -j 50
8+
build:rbe -j 50
99

10-
build:remote --define=EXECUTOR=remote
11-
build:remote --experimental_inmemory_dotd_files
12-
build:remote --experimental_inmemory_jdeps_files
13-
build:remote --remote_timeout=3600
14-
build:remote --spawn_strategy=remote,local
15-
#build:remote --nolegacy_important_outputs
16-
build:remote --incompatible_strict_action_env=true
10+
build:rbe --define=EXECUTOR=remote
11+
build:rbe --experimental_inmemory_dotd_files
12+
build:rbe --experimental_inmemory_jdeps_files
13+
build:rbe --remote_timeout=3600
14+
build:rbe --spawn_strategy=remote,local
15+
#build:rbe --nolegacy_important_outputs
16+
build:rbe --incompatible_strict_action_env=true
1717

18-
build:remote --crosstool_top=//common/remote-build/cc:toolchain
19-
build:remote --extra_execution_platforms=//common/remote-build:platform
20-
build:remote --extra_toolchains=//common/remote-build:cc-toolchain
21-
build:remote --host_platform=//common/remote-build:platform
22-
build:remote --platforms=//common/remote-build:platform
23-
build:remote --cxxopt=-std=c++14
18+
build:rbe --crosstool_top=//common/remote-build/cc:toolchain
19+
build:rbe --extra_execution_platforms=//common/remote-build:platform
20+
build:rbe --extra_toolchains=//common/remote-build:cc-toolchain
21+
build:rbe --host_platform=//common/remote-build:platform
22+
build:rbe --platforms=//common/remote-build:platform
23+
build:rbe --cxxopt=-std=c++14
2424

2525
# The Docker images are running Linux
26-
build:remote --cpu=k8
27-
build:remote --host_cpu=k8
26+
build:rbe --cpu=k8
27+
build:rbe --host_cpu=k8
2828

29-
build:remote --disk_cache=
29+
build:rbe --disk_cache=
3030

31-
build:remote --incompatible_enable_cc_toolchain_resolution
32-
build:remote --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
33-
test:remote --test_env=DISPLAY=:99.0
34-
test:remote --test_tag_filters=-exclusive-if-local,-skip-remote,-remote
31+
build:rbe --incompatible_enable_cc_toolchain_resolution
32+
build:rbe --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1
33+
test:rbe --test_env=DISPLAY=:99.0
34+
test:rbe --test_tag_filters=-exclusive-if-local,-skip-rbe,-remote
3535

3636
# Env vars we can hard code
37-
build:remote --action_env=HOME=/home/dev
38-
build:remote --action_env=PATH=/bin:/usr/bin:/usr/local/bin
39-
test:remote --test_env=PATH=/bin:/usr/bin:/usr/local/bin
40-
test:remote --test_env=HOME=/home/dev
37+
build:rbe --action_env=HOME=/home/dev
38+
build:rbe --action_env=PATH=/bin:/usr/bin:/usr/local/bin
39+
test:rbe --test_env=PATH=/bin:/usr/bin:/usr/local/bin
40+
test:rbe --test_env=HOME=/home/dev
4141

4242
# Make sure we sniff credentials properly
43-
build:remote --credential_helper=gypsum.cluster.engflow.com=%workspace%/scripts/credential-helper.sh
43+
build:rbe --credential_helper=gypsum.cluster.engflow.com=%workspace%/scripts/credential-helper.sh
4444

4545
# Use pinned browsers when running remotely
46-
build:remote --//common:pin_browsers
46+
build:rbe --//common:pin_browsers
4747

4848
# The remote build machines are pretty small, and 50 threads may leave them
4949
# thrashing, but our dev machines are a lot larger. Scale the workload so we
5050
# make reasonable usage of everything, everywhere, all at once.
51-
build:remote --local_resources=cpu='HOST_CPUS*10'
52-
build:remote --local_resources=memory='HOST_RAM*4.0'
51+
build:rbe --local_resources=cpu='HOST_CPUS*10'
52+
build:rbe --local_resources=memory='HOST_RAM*4.0'
5353

5454
# A small hint that we're running our tests remotely
55-
test:remote --test_env=REMOTE_BUILD=1
55+
test:rbe --test_env=REMOTE_BUILD=1
5656

5757
# Wait for up to 5 minutes for a test to pass
58-
test:remote --test_timeout=600
58+
test:rbe --test_timeout=600
5959

6060
# Extend the remote config for CI
61-
build:remote-ci --config=remote
62-
build:remote-ci --curses=no --color=yes --show_timestamps --show_progress_rate_limit=5
63-
build:remote-ci --bes_upload_mode=wait_for_upload_complete
64-
build:remote-ci --remote_download_minimal
61+
build:rbe-ci --config=rbe
62+
build:rbe-ci --curses=no --color=yes --show_timestamps --show_progress_rate_limit=5
63+
build:rbe-ci --bes_upload_mode=wait_for_upload_complete
64+
build:rbe-ci --remote_download_minimal
6565

6666
# Configuration changes suggested by EngFlow
67-
build:remote --grpc_keepalive_time=30s
68-
build:remote --nolegacy_important_outputs
67+
build:rbe --grpc_keepalive_time=30s
68+
build:rbe --nolegacy_important_outputs

.github/workflows/pre-release.yml

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,38 @@ jobs:
7878
run: |
7979
git config --local user.email "[email protected]"
8080
git config --local user.name "Selenium CI Bot"
81-
- name: Update everything including early release CDP
82-
if: ${{ github.event.inputs.chrome_channel == 'early-stable' }}
83-
run: ./go all:prepare[${{ github.event.inputs.version }},Beta]
84-
- name: Update everything including released CDP
85-
if: ${{ github.event.inputs.chrome_channel == 'stable' }}
86-
run: ./go "all:prepare[${{ github.event.inputs.version }},Stable]"
81+
- name: Update browser versions
82+
run: ./go update_browsers[${{ github.event.inputs.chrome_channel }}]
83+
- name: Commit browser updates
84+
run: git commit -m "update pinned browser versions"
85+
- name: Update devtools versions
86+
run: ./go all:update_cdp[${{ github.event.inputs.chrome_channel }}]
87+
- name: Commit DevTools updates
88+
run: git commit -m "update devtools versions"
89+
- name: Update Selenium Manager versions
90+
run: ./go update_manager
91+
- name: Commit Selenium Manager updates
92+
run: git commit -m "update selenium manager versions"
93+
- name: Update Maven dependency versions
94+
run: ./go java:update
95+
- name: Commit Maven version updates
96+
run: git commit -m "update maven dependency versions"
97+
- name: Update Authors file
98+
run: ./go authors
99+
- name: Commit Authors updates
100+
run: git commit -m "update authors file"
101+
- name: Bump minor version
102+
run: ./go all:version
103+
- name: Commit version updates
104+
run: git commit -m "bump versions in preparation for release"
105+
- name: Update changelog
106+
run: ./go all:changelog
107+
- name: Commit changelog updates
108+
run: git commit -m "WIP - rough auto-update of changelog, please edit"
109+
- name: List untracked files
110+
run: git status -u
111+
- name: Clean working directory before PR
112+
run: git clean -fd
87113
- name: Create Pull Request
88114
uses: peter-evans/create-pull-request@v6
89115
with:

.github/workflows/stage-release.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@ jobs:
1919
(github.event.pull_request.merged == true &&
2020
github.repository_owner == 'seleniumhq' &&
2121
startsWith(github.event.pull_request.head.ref, 'release-preparation-')) ||
22-
(github.event_name == 'workflow_dispatch' &&
23-
github.event.inputs.version != '' &&
22+
(github.event_name == 'workflow_dispatch' &&
23+
github.event.inputs.version != '' &&
2424
github.repository_owner == 'seleniumhq')
2525
runs-on: ubuntu-latest
2626
permissions: write-all
27+
outputs:
28+
version: ${{ env.VERSION }}
2729
steps:
2830
- name: Checkout repo
2931
uses: actions/checkout@v4
@@ -41,10 +43,6 @@ jobs:
4143
run: |
4244
git config --local user.email "[email protected]"
4345
git config --local user.name "Selenium CI Bot"
44-
# - name: Tag Release
45-
# run: |
46-
# git tag selenium-${{ env.VERSION }} || echo "Tag already exists"
47-
# git push origin selenium-${{ env.VERSION }} || echo "Tag already exists remotely"
4846
- name: Setup Java
4947
uses: actions/setup-java@v3
5048
with:
@@ -71,4 +69,5 @@ jobs:
7169
needs: github-release
7270
uses: ./.github/workflows/update-documentation.yml
7371
with:
74-
tag: selenium-${{ needs.github-release.outputs.version }}
72+
version: ${{ needs.github-release.outputs.version }}
73+
sha: ${{ github.sha }}

.github/workflows/update-documentation.yml

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,24 @@ env:
3737
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3838

3939
jobs:
40+
determine-languages:
41+
runs-on: ubuntu-latest
42+
outputs:
43+
matrix: ${{ steps.set-matrix.outputs.matrix }}
44+
steps:
45+
- id: set-matrix
46+
run: |
47+
if [ "${{ inputs.language }}" == "all" ]; then
48+
echo 'matrix={"language":["java","rb","py","dotnet","node"]}' >> $GITHUB_OUTPUT
49+
else
50+
echo 'matrix={"language":["${{ inputs.language }}"]}' >> $GITHUB_OUTPUT
51+
fi
4052
build-docs:
53+
needs: determine-languages
4154
runs-on: ubuntu-latest
55+
strategy:
56+
matrix: ${{ fromJson(needs.determine-languages.outputs.matrix) }}
57+
fail-fast: false
4258
steps:
4359
- name: Checkout repository
4460
uses: actions/checkout@v4
@@ -58,34 +74,35 @@ jobs:
5874
java-version: 17
5975
distribution: 'temurin'
6076
- name: Set up Python 3.9
61-
if: ${{ inputs.language == 'all' || inputs.language == 'py' }}
77+
if: ${{ matrix.language == 'py' }}
6278
uses: actions/setup-python@v5
6379
with:
6480
python-version: 3.9
6581
- name: Install dependencies
66-
if: ${{ inputs.language == 'all' || inputs.language == 'py' }}
82+
if: ${{ matrix.language == 'py' }}
6783
run: |
6884
python -m pip install --upgrade pip
6985
pip install tox
7086
- name: Install npm dependencies
71-
if: ${{ inputs.language == 'all' || inputs.language == 'node' }}
87+
if: ${{ matrix.language == 'node' }}
7288
run: |
7389
npm install
7490
npm install --prefix javascript/node/selenium-webdriver
7591
- name: Update Documentation
76-
run: ./go ${{ inputs.language }}:docs
77-
92+
run: ./go ${{ matrix.language }}:docs
7893
- name: Documentation Pull Request
7994
uses: peter-evans/create-pull-request@v6
8095
with:
8196
token: ${{ secrets.SELENIUM_CI_TOKEN }}
8297
author: Selenium CI Bot <[email protected]>
8398
delete-branch: true
84-
branch: api-docs-${{ inputs.version }}-${{ inputs.language }}
99+
branch: api-docs-${{ inputs.version }}-${{ matrix.language }}
85100
base: gh-pages
86-
title: Update documentation for Selenium ${{ inputs.version }} (${{ inputs.language }})
101+
add-paths: |
102+
${{ matrix.language == 'node' && 'docs/api/javascript/**' || format('docs/api/{0}/**', matrix.language) }}
103+
title: Update documentation for Selenium ${{ inputs.version }} (${{ matrix.language }})
87104
body: |
88-
This PR updates the API documentation for **${{ inputs.language }}** language bindings to version **${{ inputs.version }}**.
105+
This PR updates the API documentation for **${{ matrix.language }}** language bindings to version **${{ inputs.version }}**.
89106
90107
- Auto-generated by [create-pull-request][1]
91108

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -358,8 +358,8 @@ Check https://selenium.dev/support/ for a complete list of options to communicat
358358

359359
To access the EngFlow RBE, a developer needs to be granted access to our project
360360
container repository. Once that has been done, then any bazel command can be run
361-
remotely by using `--config=remote`. For example: `bazel build --config=remote
362-
grid` or `bazel test --config=remote java/test/...`
361+
remotely by using `--config=rbe`. For example: `bazel build --config=rbe
362+
grid` or `bazel test --config=rbe java/test/...`
363363

364364
When you run a remote build, one of the first lines of output from Bazel will
365365
include a link to the EngFlow UI so you can track the progress of the build and

0 commit comments

Comments
 (0)