Skip to content

Commit 8a5c71e

Browse files
Merge branch 'trunk' into refactor
2 parents eddf963 + a35b5a7 commit 8a5c71e

File tree

381 files changed

+2120
-7810
lines changed

Some content is hidden

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

381 files changed

+2120
-7810
lines changed

.bazelignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@ java/build/production
2323
java/client/build
2424
java/server/build
2525
javascript/grid-ui/node_modules
26-
javascript/node/selenium-webdriver/node_modules
26+
javascript/selenium-webdriver/node_modules
2727
node_modules

.bazelrc

+3-3
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

+41-41
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-rbe,-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/ISSUE_TEMPLATE/bug-report.yml

+93-60
Original file line numberDiff line numberDiff line change
@@ -1,94 +1,127 @@
11
name: 🐛 Bug Report
22
description: File a bug report
33
title: "[🐛 Bug]: "
4-
labels: [ I-defect, needs-triaging ]
4+
labels: [ I-defect, A-needs-triaging ]
55
body:
6-
- type: markdown
7-
attributes:
8-
value: |
9-
Thanks for taking the time to fill out this bug report!
106
- type: textarea
11-
id: what-happened
7+
id: description
128
attributes:
13-
label: What happened?
14-
description: |
15-
Describe clearly and concisely the bug including instructions showing how to reproduce it.
9+
label: Description
1610
placeholder: |
17-
Please add as many details as possible to avoid assumptions from our side. How do you
18-
trigger this bug? What did you expect to happen? Please walk us through it step by step.
19-
Notes:
20-
If the issue is with Google Chrome consider logging an issue with ChromeDriver instead:
21-
https://bugs.chromium.org/p/chromedriver
22-
If the issue is with Firefox GeckoDriver (aka Marionette) consider logging an issue with
23-
Mozilla: https://bugzilla.mozilla.org/buglist.cgi?product=Testing&component=Marionette
24-
If the issue is with Microsoft Edge consider logging an issue with Microsoft instead:
25-
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/
26-
If the issue is with Safari, only Safari 10+ is supported. Please log any Safari issue
27-
with Apple: https://bugreport.apple.com/
11+
Include details like:
12+
- What you were trying to do
13+
- What you expected to happen
14+
- What actually happened
15+
- Any relevant context or configuration
16+
- Stacktrace or error message if applicable
2817
validations:
2918
required: true
3019
- type: textarea
31-
id: repro-command
20+
id: reproduction
3221
attributes:
33-
label: How can we reproduce the issue?
34-
description: |
35-
Share with a code snippet or a GitHub repo to reproduce the issue.
22+
label: Reproducible Code
3623
placeholder: |
37-
Please share the code script to reproduce the issue. If more than one file is needed,
38-
create a GitHub repository and share the link.
39-
This will be automatically formatted into code, so no need for backticks.
40-
Be sure to include an SSCCE (Short, Self Contained, Correct
41-
[compilable] example) http://sscce.org/
42-
Issues without a reproduction script are likely to stall and eventually be closed.
24+
(This section renders as code, no need for backticks)
25+
26+
* We can't fix an issue we can't reproduce.
27+
* If more than one file is needed, create a new GitHub repository and link it here.
28+
* Reproduction should be SSCCE: Short, Self Contained, Correct (Compilable), Example.
4329
render: shell
4430
validations:
4531
required: true
4632
- type: textarea
4733
id: logs
4834
attributes:
49-
label: Relevant log output
50-
description: |
51-
Please copy and paste any relevant log output.
52-
Ideally, turn on more detailed logging: https://www.selenium.dev/documentation/webdriver/troubleshooting/logging/
53-
This will be automatically formatted, so no need for backticks.
54-
render: shell
55-
validations:
56-
required: true
35+
label: Debugging Logs
36+
placeholder: |
37+
Note: the stack trace should be in the explanation section above
38+
Instructions for enabling logging can be found in the link below
39+
render: logs
40+
- type: markdown
41+
id: link
42+
attributes:
43+
value: |
44+
**Read our [logging documentation](https://www.selenium.dev/documentation/webdriver/troubleshooting/logging/)**
45+
 
46+
47+
## Help us Address Your Issue Faster!
5748
- type: input
58-
id: operating-system
49+
id: selenium-version
5950
attributes:
60-
label: Operating System
61-
description: What host operating system are you using to run Selenium?
62-
placeholder: Windows 10? macOS BigSur? Ubuntu?
51+
label: What version of Selenium are you currently using?
52+
description: Important! The latest released version of Selenium is 4.30 and we can't fix old versions.
53+
placeholder: e.g., 4.17.0
6354
validations:
6455
required: true
65-
- type: input
66-
id: selenium-version
56+
- type: checkboxes
57+
id: prerequisites
58+
attributes:
59+
label: The following statements are true
60+
options:
61+
- label: This applies to the most recent version of Selenium (we can't fix old versions)
62+
required: true
63+
- label: This hasn't already been reported (I searched and didn't find it)
64+
required: true
65+
- label: All information necessary to reproduce the issue has been provided above
66+
required: true
67+
- type: dropdown
68+
id: regression
6769
attributes:
68-
label: Selenium version
69-
description: What programming language release version of Selenium?
70-
placeholder: Java 4.0.0? Ruby 4.0.3? (please use the full version number).
70+
label: Did this work for you before?
71+
options:
72+
- Not sure, this is my first time trying it
73+
- Yes this is a regression
7174
validations:
7275
required: true
7376
- type: input
74-
id: browser-versions
77+
id: last-good
78+
attributes:
79+
label: If yes, what version of Selenium did it work with?
80+
placeholder: "e.g., 4.8.0"
81+
validations:
82+
required: false
83+
- type: dropdown
84+
id: operating-system
7585
attributes:
76-
label: What are the browser(s) and version(s) where you see this issue?
77-
description: What browser and versions are you using?
78-
placeholder: Example - Chrome 90, Firefox 88, etc.
86+
label: Operating System
87+
options:
88+
- "--"
89+
- Windows
90+
- macOS
91+
- Linux (specify in the description)
7992
validations:
8093
required: true
81-
- type: input
82-
id: browser-driver-versions
94+
- type: dropdown
95+
id: bindings
8396
attributes:
84-
label: What are the browser driver(s) and version(s) where you see this issue?
85-
description: What browser driver(s) are you using?
86-
placeholder: Example - ChromeDriver 94.0.4606.61, GeckoDriver 0.30.0, etc.
97+
label: Selenium Language Binding
98+
options:
99+
- "--"
100+
- Java
101+
- Python
102+
- C#/.NET
103+
- JavaScript/Node.js
104+
- Ruby
87105
validations:
88106
required: true
89-
- type: input
90-
id: selenium-grid-version
107+
- type: dropdown
108+
id: browsers
109+
attributes:
110+
label: Which browsers are you experiencing the issue with?
111+
multiple: true
112+
options:
113+
- Chrome
114+
- Firefox
115+
- Edge
116+
- Safari
117+
- IE
118+
- Other (please specify in the description)
119+
- type: dropdown
120+
id: grid
91121
attributes:
92122
label: Are you using Selenium Grid?
93-
description: What version of Selenium Grid are you using?
94-
placeholder: Example - 4.0.0
123+
options:
124+
- "No"
125+
- "Yes"
126+
validations:
127+
required: true
+41-19
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,53 @@
11
name: 🚀 Feature Proposal
2-
description: Propose a feature
2+
description: Suggest a new feature or improvement to Selenium
33
title: "[🚀 Feature]: "
4-
labels: [ I-enhancement, needs-triaging ]
4+
labels: [ I-enhancement, A-needs-triaging ]
55
body:
6-
- type: markdown
7-
attributes:
8-
value: |
9-
Thanks for taking the time to propose a feature!
106
- type: textarea
11-
id: feature-description
7+
id: description
128
attributes:
13-
label: Feature and motivation
14-
description: |
15-
Describe clearly and concisely the feature you are proposing, what is the motivation
16-
behind it.
9+
label: Description
1710
placeholder: |
18-
Help us to understand your proposal by adding as many details as possible, we will look into
19-
it and give you feedback as soon as possible.
11+
What would you like Selenium to support or do differently?
12+
Please include:
13+
- The problem this would solve
14+
- How you expect the feature would work
15+
- Any relevant context or use cases
16+
- Links to related issues, discussions, or external tools (if applicable)
2017
validations:
2118
required: true
19+
2220
- type: textarea
23-
id: feature-example
21+
id: alternatives
2422
attributes:
25-
label: Usage example
26-
description: |
27-
How would you use this feature?
23+
label: Have you considered any alternatives or workarounds?
2824
placeholder: |
29-
A clear example showing how this feature is useful for you and the Selenium community.
25+
If you've tried other ways to solve this problem, describe them here.
26+
If not, you can leave this blank.
3027
validations:
31-
required: true
28+
required: false
29+
30+
- type: dropdown
31+
id: bindings
32+
attributes:
33+
label: Does this apply to specific language bindings?
34+
multiple: true
35+
options:
36+
- Java
37+
- Python
38+
- C#/.NET
39+
- JavaScript/Node.js
40+
- Ruby
41+
42+
- type: dropdown
43+
id: components
44+
attributes:
45+
label: What part(s) of Selenium does this relate to?
46+
multiple: true
47+
options:
48+
- Atoms
49+
- Build (CI or Bazel)
50+
- DevTools (CDP or BiDi)
51+
- Documentation
52+
- Grid
53+
- Selenium Manager

0 commit comments

Comments
 (0)