Skip to content

Commit

Permalink
Merge branch 'trunk' into resign-ff-addons
Browse files Browse the repository at this point in the history
  • Loading branch information
titusfortner authored Jun 14, 2024
2 parents 9c8277f + a540877 commit 79aac12
Show file tree
Hide file tree
Showing 232 changed files with 7,054 additions and 3,301 deletions.
2 changes: 1 addition & 1 deletion .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ test --test_env=JRUBY_OPTS="--dev"

# Expose necessary variables for Selenium-Manager.

test:windows --test_env=PATH
test:windows --test_env=LOCALAPPDATA
test:windows --test_env=PROGRAMFILES="C:\\Program Files"
test:windows --test_env=PROGRAMFILES(X86)="C:\\Program Files (x86)"
Expand All @@ -101,7 +102,6 @@ test:ruby_debug --test_output=streamed --test_env=RUBY_DEBUG_FORK_MODE=parent --

build:release --config=remote
build:release --stamp
build:release --remote_download_outputs=toplevel

# RBE
import %workspace%/.bazelrc.remote
4 changes: 1 addition & 3 deletions .bazelrc.remote
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@ build:remote --remote_cache=grpcs://gypsum.cluster.engflow.com
# The number of cores available
build:remote -j 50

# Build Without The Bytes
build:remote --remote_download_minimal

build:remote --define=EXECUTOR=remote
build:remote --experimental_inmemory_dotd_files
build:remote --experimental_inmemory_jdeps_files
Expand Down Expand Up @@ -64,6 +61,7 @@ test:remote --test_timeout=600
build:remote-ci --config=remote
build:remote-ci --curses=no --color=yes --show_timestamps --show_progress_rate_limit=5
build:remote-ci --bes_upload_mode=wait_for_upload_complete
build:remote-ci --remote_download_minimal

# Configuration changes suggested by EngFlow
build:remote --grpc_keepalive_time=30s
Expand Down
2 changes: 1 addition & 1 deletion .bazelversion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7.1.2
7.2.0
4 changes: 2 additions & 2 deletions .github/workflows/bazel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ jobs:
node-version: ${{ inputs.node-version }}
- name: Setup Bazel with caching
if: inputs.caching
uses: bazel-contrib/[email protected].4
uses: bazel-contrib/[email protected].5
with:
bazelisk-cache: true
bazelrc: common --color=yes
Expand All @@ -130,7 +130,7 @@ jobs:
repository-cache: true
- name: Setup Bazel without caching
if: inputs.caching == false
uses: bazel-contrib/[email protected].4
uses: bazel-contrib/[email protected].5
with:
bazelrc: common --color=yes
- name: Setup Fluxbox and Xvfb
Expand Down
11 changes: 1 addition & 10 deletions .github/workflows/ci-javascript.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,9 @@ jobs:
cache-key: javascript-build
run: bazel build //javascript/node/selenium-webdriver:selenium-webdriver

small-tests:
name: Small Tests
needs: build
uses: ./.github/workflows/bazel.yml
with:
name: Small Tests
cache-key: javascript-small-tests
run: bazel test //javascript/node/selenium-webdriver:small-tests

browser-tests:
name: Browser Tests
needs: small-tests
needs: build
uses: ./.github/workflows/bazel.yml
strategy:
fail-fast: false
Expand Down
7 changes: 0 additions & 7 deletions .github/workflows/ci-ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@ jobs:
- chrome
- edge
- firefox
- safari
os:
- ubuntu
- windows
Expand All @@ -83,10 +82,6 @@ jobs:
os: ubuntu
- browser: edge
os: macos
- browser: safari
os: ubuntu
- browser: safari
os: windows
with:
name: Local Tests (${{ matrix.browser }}, ${{ matrix.os }})
browser: ${{ matrix.browser }}
Expand Down Expand Up @@ -115,8 +110,6 @@ jobs:
os: ubuntu
- browser: firefox
os: ubuntu
- browser: safari
os: macos
with:
name: Remote Tests (${{ matrix.browser }}, ${{ matrix.os }})
browser: ${{ matrix.browser }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
name: Tests (${{ matrix.os }})
cache-key: rust-test
os: ${{ matrix.os }}
run: bazel test --test_env=RUST_BACKTRACE=1 --flaky_test_attempts=3 //rust/...
run: bazel test --test_env=RUST_BACKTRACE=full --test_env=RUST_TEST_NOCAPTURE=1 --flaky_test_attempts=3 //rust/...

windows-stable:
name: "Windows Stable"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
with:
fetch-depth: 50
- name: Setup Bazel
uses: bazel-contrib/[email protected].4
uses: bazel-contrib/[email protected].5
with:
bazelisk-cache: true
cache-version: 2
Expand Down
136 changes: 113 additions & 23 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,26 @@ jobs:
with:
name: Nightly Ruby Release
cache-key: rb-nightly-${{ matrix.gem }}
run: |
export GEM_HOST_API_KEY="Bearer $GITHUB_TOKEN"
bazel run //rb:${{ matrix.gem }}-bump-nightly-version ${{ inputs.version }}
bazel run //rb:${{ matrix.gem }}-release-nightly
env:
GEM_HOST_API_KEY: "Bearer $GITHUB_TOKEN"
run: ./go rb:release['nightly', '--config=release']
on-ruby-failure:
name: On Ruby Failure
runs-on: ubuntu-latest
if: ${{ always() && (needs.ruby.result == 'failure' || needs.ruby.result == 'timed_out') }}
needs: ruby
steps:
- uses: actions/checkout@v4
- name: Slack Notification
uses: rtCamp/action-slack-notify@v2
env:
SLACK_ICON_EMOJI: ":rotating_light:"
SLACK_COLOR: ${{ needs.ruby.status }}
SLACK_CHANNEL: selenium-tlc
SLACK_USERNAME: GitHub Workflows
SLACK_TITLE: Nightly Ruby ${{ needs.ruby.result }}
MSG_MINIMAL: actions url
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}

python:
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'python' || github.event_name == 'schedule')
Expand All @@ -47,13 +63,25 @@ jobs:
with:
name: Nightly Python Release
cache-key: python-nightly
run: |
./go "py:version[nightly]"
./go py:build
pip install twine
twine upload --repository testpypi bazel-bin/py/selenium-4*.whl bazel-bin/py/selenium-4*.tar.gz
run: ./go py:release['nightly', '--config=release']
secrets: inherit

on-python-failure:
name: On Python Failure
runs-on: ubuntu-latest
if: ${{ always() && (needs.python.result == 'failure' || needs.python.result == 'timed_out') }}
needs: python
steps:
- uses: actions/checkout@v4
- name: Slack Notification
uses: rtCamp/action-slack-notify@v2
env:
SLACK_ICON_EMOJI: ":rotating_light:"
SLACK_COLOR: ${{ needs.python.status }}
SLACK_CHANNEL: selenium-tlc
SLACK_USERNAME: GitHub Workflows
SLACK_TITLE: Nightly Python ${{ needs.python.result }}
MSG_MINIMAL: actions url
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}

java:
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'java' || github.event_name == 'schedule')
Expand All @@ -62,9 +90,25 @@ jobs:
with:
name: Nightly Java Release
cache-key: java-nightly
run: |
./go publish-maven-snapshot
run: ./go publish-maven-snapshot
secrets: inherit
on-java-failure:
name: On Java Failure
runs-on: ubuntu-latest
if: ${{ always() && (needs.java.result == 'failure' || needs.java.result == 'timed_out') }}
needs: java
steps:
- uses: actions/checkout@v4
- name: Slack Notification
uses: rtCamp/action-slack-notify@v2
env:
SLACK_ICON_EMOJI: ":rotating_light:"
SLACK_COLOR: ${{ needs.java.status }}
SLACK_CHANNEL: selenium-tlc
SLACK_USERNAME: GitHub Workflows
SLACK_TITLE: Nightly Java ${{ needs.java.result }}
MSG_MINIMAL: actions url
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}

dotnet:
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'dotnet' || github.event_name == 'schedule')
Expand All @@ -74,10 +118,25 @@ jobs:
name: Nightly DotNet Release
cache-key: dotnet-nightly
dotnet-version: '6.x'
run: |
./go "dotnet:version[nightly]"
./go dotnet:release
run: ./go dotnet:release['nightly', '--config=release']
secrets: inherit
on-dotnet-failure:
name: On .NET Failure
runs-on: ubuntu-latest
if: ${{ always() && (needs.dotnet.result == 'failure' || needs.dotnet.result == 'timed_out') }}
needs: dotnet
steps:
- uses: actions/checkout@v4
- name: Slack Notification
uses: rtCamp/action-slack-notify@v2
env:
SLACK_ICON_EMOJI: ":rotating_light:"
SLACK_COLOR: ${{ needs.dotnet.status }}
SLACK_CHANNEL: selenium-tlc
SLACK_USERNAME: GitHub Workflows
SLACK_TITLE: Nightly .NET ${{ needs.dotnet.result }}
MSG_MINIMAL: actions url
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}

grid:
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'grid' || github.event_name == 'schedule')
Expand All @@ -86,10 +145,25 @@ jobs:
with:
name: Nightly Grid Release
cache-key: grid-nightly
run: |
echo build --stamp >>.bazelrc.local
./go java-release-zip
run: ./go java:package[--config=release]
nightly-release-files: build/dist/*.*
on-grid-failure:
name: On Grid Failure
runs-on: ubuntu-latest
if: ${{ always() && (needs.grid.result == 'failure' || needs.grid.result == 'timed_out') }}
needs: grid
steps:
- uses: actions/checkout@v4
- name: Slack Notification
uses: rtCamp/action-slack-notify@v2
env:
SLACK_ICON_EMOJI: ":rotating_light:"
SLACK_COLOR: ${{ needs.grid.status }}
SLACK_CHANNEL: selenium-tlc
SLACK_USERNAME: GitHub Workflows
SLACK_TITLE: Nightly Grid ${{ needs.grid.result }}
MSG_MINIMAL: actions url
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}

javascript:
if: (github.repository_owner == 'seleniumhq') && (inputs.language == 'javascript' || github.event_name == 'schedule')
Expand All @@ -102,9 +176,25 @@ jobs:
run: |
sed -i 's|https://registry.npmjs.org/|https://npm.pkg.github.com|g' javascript/node/selenium-webdriver/package.json
sed -i 's|"name": "selenium-webdriver"|"name": "@seleniumhq/selenium-webdriver"|g' javascript/node/selenium-webdriver/package.json
echo "//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}" >> .npmrc
echo "@seleniumhq:registry=https://npm.pkg.github.com" >> .npmrc
echo "always-auth=true" >> .npmrc
./go "node:version[nightly]"
./go node:release
echo "//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}" >> ~/.npmrc
echo "@seleniumhq:registry=https://npm.pkg.github.com" >> ~/.npmrc
echo "always-auth=true" >> ~/.npmrc
./go node:release['nightly', '--config=release']
secrets: inherit
on-javascript-failure:
name: On JavaScript Failure
runs-on: ubuntu-latest
if: ${{ always() && (needs.javascript.result == 'failure' || needs.javascript.result == 'timed_out') }}
needs: javascript
steps:
- uses: actions/checkout@v4
- name: Slack Notification
uses: rtCamp/action-slack-notify@v2
env:
SLACK_ICON_EMOJI: ":rotating_light:"
SLACK_COLOR: ${{ needs.javascript.status }}
SLACK_CHANNEL: selenium-tlc
SLACK_USERNAME: GitHub Workflows
SLACK_TITLE: Nightly JavaScript ${{ needs.javascript.result }}
MSG_MINIMAL: actions url
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
3 changes: 2 additions & 1 deletion .github/workflows/pre-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ jobs:
fetch-tags: true
ref: release-${{ github.event.inputs.version }}
- name: Install Ruby
uses: ruby/setup-ruby@7dc18ff0ca6e3630d3f29d2a85ebf6cc27ae9d6c
uses: ruby/setup-ruby@d5fb7a202fc07872cb44f00ba8e6197b70cb0c55
with:
ruby-version: '3.1'
working-directory: 'rb'
Expand All @@ -91,6 +91,7 @@ jobs:
author: Selenium CI Bot <[email protected]>
delete-branch: true
branch: release-preparation-${{ github.event.inputs.version }}
base: trunk
title: "[build] Prepare for release of Selenium ${{ github.event.inputs.version }}"
body: |
**Warning: Manually update the changelogs before merging**
Expand Down
6 changes: 6 additions & 0 deletions .skipped-tests
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,9 @@
-//rb/spec/integration/selenium/webdriver/firefox:service-firefox
-//rb/spec/integration/selenium/webdriver/firefox:service-firefox-beta
-//rb/spec/integration/selenium/webdriver:element-chrome
-//rb/spec/integration/selenium/webdriver/chrome:service-chrome-bidi
-//rb/spec/integration/selenium/webdriver/edge:service-edge-bidi
-//rb/spec/integration/selenium/webdriver/firefox:service-firefox-bidi
-//rb/spec/integration/selenium/webdriver/firefox:service-firefox-beta-bidi
-//rb/spec/integration/selenium/webdriver:element-chrome-bidi
-//rb/spec/integration/selenium/webdriver/firefox:driver-firefox-beta-bidi
8 changes: 8 additions & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,14 @@ filegroup(
visibility = ["//visibility:public"],
)

filegroup(
name = "rakefile",
srcs = [
"Rakefile",
],
visibility = ["//rb:__subpackages__"],
)

alias(
name = "grid",
actual = "//java/src/org/openqa/selenium/grid:executable-grid",
Expand Down
37 changes: 22 additions & 15 deletions MODULE.bazel
Original file line number Diff line number Diff line change
@@ -1,24 +1,31 @@
module(name = "selenium")

bazel_dep(name = "apple_rules_lint", version = "0.3.2")
bazel_dep(name = "aspect_bazel_lib", version = "2.5.3")
bazel_dep(name = "aspect_rules_esbuild", version = "0.18.0")
bazel_dep(name = "aspect_rules_js", version = "1.41.1")
bazel_dep(name = "aspect_rules_ts", version = "2.1.0")
bazel_dep(name = "bazel_features", version = "1.9.1")
bazel_dep(name = "bazel_skylib", version = "1.5.0")
bazel_dep(name = "aspect_bazel_lib", version = "2.7.7")
bazel_dep(name = "aspect_rules_esbuild", version = "0.20.1")
bazel_dep(name = "aspect_rules_js", version = "1.42.3")
bazel_dep(name = "aspect_rules_ts", version = "2.4.2")
bazel_dep(name = "bazel_features", version = "1.13.0")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "buildifier_prebuilt", version = "6.4.0")
bazel_dep(name = "contrib_rules_jvm", version = "0.24.0")
bazel_dep(name = "contrib_rules_jvm", version = "0.27.0")
bazel_dep(name = "platforms", version = "0.0.10")
bazel_dep(name = "rules_dotnet", version = "0.14.0")
bazel_dep(name = "rules_java", version = "7.4.0")

# Required for the closure rules
bazel_dep(name = "protobuf", version = "21.7", dev_dependency = True, repo_name = "com_google_protobuf")

# Required for rules_rust to import the crates properly
bazel_dep(name = "rules_cc", version = "0.0.9", dev_dependency = True)

bazel_dep(name = "rules_dotnet", version = "0.15.1")
bazel_dep(name = "rules_java", version = "7.6.3")
bazel_dep(name = "rules_jvm_external", version = "6.1")
bazel_dep(name = "rules_nodejs", version = "6.0.5")
bazel_dep(name = "rules_oci", version = "1.0.0")
bazel_dep(name = "rules_pkg", version = "0.9.1")
bazel_dep(name = "rules_python", version = "0.31.0")
bazel_dep(name = "rules_proto", version = "5.3.0-21.7")
bazel_dep(name = "rules_ruby", version = "0.8.1")
bazel_dep(name = "rules_nodejs", version = "6.2.0")
bazel_dep(name = "rules_oci", version = "1.7.6")
bazel_dep(name = "rules_pkg", version = "0.10.1")
bazel_dep(name = "rules_python", version = "0.33.0")
bazel_dep(name = "rules_proto", version = "6.0.0")
bazel_dep(name = "rules_ruby", version = "0.11.0")

linter = use_extension("@apple_rules_lint//lint:extensions.bzl", "linter")
linter.configure(
Expand Down
Loading

0 comments on commit 79aac12

Please sign in to comment.