Skip to content

[build] Prepare for release of Selenium 4.17.0 #57

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 52 commits into
base: release-4.17.0
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
d5b9382
update all necessary files prior to a release
titusfortner Jan 22, 2024
e52b1be
update versions and changelogs for 4.17
titusfortner Jan 23, 2024
5404e6d
updating versions to nightly
titusfortner Jan 23, 2024
7bec7b4
[build] fixes to automated release tasks
titusfortner Jan 23, 2024
7112e47
[build] fix chmod value for geenrated dotnet files
titusfortner Jan 23, 2024
72436c4
[build] fix release note formatting
titusfortner Jan 23, 2024
f9ff9b3
[java] Recommitting self-signed certificate should not require certif…
pujagani Jan 23, 2024
1e2b8d6
[js] Fix running the casting related methods in chromium (#13479)
pujagani Jan 23, 2024
91e7572
Fix typo in setup.py (#13487)
EwaMarek Jan 23, 2024
6334c2f
Update mirror info (Tue Jan 23 12:06:42 UTC 2024)
selenium-ci Jan 23, 2024
9a044b8
[py] Bumping to 4.17.1 and updating CHANGES
diemol Jan 23, 2024
e2b595b
[py] Correct typing_extension dependency for wheel generation
AutomatedTester Jan 23, 2024
d9ff420
[py] Bumping to 4.17.2 and updating CHANGES
diemol Jan 23, 2024
5440d2b
[build] rust version needs to be changed before running the Selenium …
titusfortner Jan 23, 2024
d74db8a
[build] create selenium-release target for python
titusfortner Jan 23, 2024
dd02fbf
[build] need to include twine in requirements to use it in target
titusfortner Jan 23, 2024
c5fb5a5
[build] fix short version in python docs
titusfortner Jan 23, 2024
c618cac
[build] create workflow to PR changes to browser versions (#13466)
titusfortner Jan 23, 2024
4f9d290
[js] Enabling virtual authenticator tests for Firefox
diemol Jan 23, 2024
8383860
Update mirror info (Wed Jan 24 00:19:31 UTC 2024)
selenium-ci Jan 24, 2024
fa658f4
[bidi] Add browsing context destroyed event
pujagani Jan 24, 2024
fe77555
[bidi][js] Add test for basic auth network event
pujagani Jan 24, 2024
ca9c0c1
[bidi] [js] Add realm destroyed event
pujagani Jan 24, 2024
b5259d8
[java] Add missing support events for Web Driver Listener (#13210)
LogicOscar Jan 24, 2024
17d0491
Update mirror info (Thu Jan 25 00:16:17 UTC 2024)
selenium-ci Jan 25, 2024
569e64b
[bidi][java] Add network intercept commands
pujagani Jan 25, 2024
a9a0aa4
[bidi][java] Add command "continuewithAuth"
pujagani Jan 25, 2024
6ad24d3
[bidi][java] Add failRequest command
pujagani Jan 25, 2024
1f01bfe
[build] add git gem to gemspec as a development dependency
titusfortner Jan 23, 2024
eb38753
[build] add more information to bazel errors in tasks
titusfortner Jan 25, 2024
319e4d7
[build] make sure task arguments are Arrays
titusfortner Jan 25, 2024
ad4fb54
[build] fix git code in rake tasks
titusfortner Jan 25, 2024
e93719e
[build] add toggle to build ruby webdriver or devtools gems independe…
titusfortner Jan 25, 2024
b1af5d6
[build] update version in package-lock for node
titusfortner Jan 25, 2024
339a837
[build] update tasks for release preparation
titusfortner Jan 25, 2024
c2ea3b2
[build] do not update copyright information as part of release prepar…
titusfortner Jan 25, 2024
168c9f5
[rb] make suggested updates from rubocop
titusfortner Jan 25, 2024
4ffaab1
[rb] fix bad rubocop autocorrection
titusfortner Jan 26, 2024
fb062a5
[java] use the W3C state to detect errors
joerg1985 Jan 26, 2024
7c1b450
[rb] fix another bad rubocop autocorrection
titusfortner Jan 26, 2024
eba101d
[rb] update rubocop and revert incorrect changes
titusfortner Jan 26, 2024
65c4abd
[ci] update pinned browser PR to ensure all tests are run
titusfortner Jan 26, 2024
e7bd6c4
[ci] upgrade upload and download actions to v4 (#13516)
titusfortner Jan 26, 2024
43cf177
[ci] create pre-release workflow
titusfortner Jan 25, 2024
f283f2a
WIP remove owner restriction so it can be demo'd
titusfortner Jan 25, 2024
51eb6ae
update Rust version to 0.4.18
selenium-ci Jan 26, 2024
6c268f9
Update pinned browser versions
selenium-ci Jan 26, 2024
230fdfe
Update supported versions for Chrome DevTools
selenium-ci Jan 26, 2024
3975577
Update selenium manager version
selenium-ci Jan 26, 2024
045d9ee
Update Maven Dependencies
selenium-ci Jan 26, 2024
6ae0ff7
Update authors file
selenium-ci Jan 26, 2024
6b245c0
FIX CHANGELOGS BEFORE MERGING!
selenium-ci Jan 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .github/workflows/bazel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,11 @@ on:
required: false
type: string
default: ''
artifact-name:
description: Name of artifact to upload
required: false
type: string
default: 'ignore-artifacts'

jobs:
bazel:
Expand Down Expand Up @@ -140,3 +145,14 @@ jobs:
title: "Nightly"
prerelease: true
files: ${{ inputs.nightly-release-files }}
- name: Save changes
if: ${{ always() && inputs.artifact-name != 'ignore-artifacts' }}
run: |
git diff > changes.patch
- name: "Upload changes"
if: ${{ always() && inputs.artifact-name != 'ignore-artifacts' }}
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.artifact-name }}
path: changes.patch
retention-days: 6
37 changes: 29 additions & 8 deletions .github/workflows/ci-rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@ name: CI - Rust

on:
workflow_call:
inputs:
release:
required: false
type: string
default: false
branch:
required: false
type: string
default: trunk
secrets:
SELENIUM_CI_TOKEN:
required: true
Expand Down Expand Up @@ -43,6 +52,8 @@ jobs:
steps:
- name: "Checkout project"
uses: actions/checkout@v4
with:
ref: ${{ inputs.branch }}
- name: "Update Rust"
run: |
rustup update
Expand All @@ -55,7 +66,7 @@ jobs:
- name: "Rename binary"
run: mv rust/target/release/selenium-manager.exe selenium-manager-windows.exe
- name: "Upload release binary"
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: selenium-manager-windows
path: selenium-manager-windows.exe
Expand All @@ -71,6 +82,8 @@ jobs:
steps:
- name: "Checkout project"
uses: actions/checkout@v4
with:
ref: ${{ inputs.branch }}
- name: "Update Rust"
run: |
rustup update
Expand All @@ -83,7 +96,7 @@ jobs:
- name: "Rename binary"
run: mv rust/target/debug/selenium-manager.exe selenium-manager-windows-debug.exe
- name: "Upload release binary"
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: selenium-manager-windows-debug
path: selenium-manager-windows-debug.exe
Expand All @@ -97,6 +110,8 @@ jobs:
steps:
- name: "Checkout project"
uses: actions/checkout@v4
with:
ref: ${{ inputs.branch }}
- name: "Update Rust"
run: |
rustup update
Expand All @@ -111,7 +126,7 @@ jobs:
- name: "Rename binary"
run: mv rust/target/x86_64-unknown-linux-musl/release/selenium-manager selenium-manager-linux
- name: "Upload release binary"
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: selenium-manager-linux
path: selenium-manager-linux
Expand All @@ -125,6 +140,8 @@ jobs:
steps:
- name: "Checkout project"
uses: actions/checkout@v4
with:
ref: ${{ inputs.branch }}
- name: "Update Rust"
run: |
rustup update
Expand All @@ -140,7 +157,7 @@ jobs:
tar -cvf ../../../../selenium-manager-linux-debug.tar selenium-manager
working-directory: rust
- name: "Upload release binary"
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: selenium-manager-linux-debug
path: selenium-manager-linux-debug.tar
Expand All @@ -156,6 +173,8 @@ jobs:
steps:
- name: "Checkout project"
uses: actions/checkout@v4
with:
ref: ${{ inputs.branch }}
- name: "Update Rust"
run: |
rustup update
Expand All @@ -170,7 +189,7 @@ jobs:
target/x86_64-apple-darwin/release/selenium-manager
working-directory: rust
- name: "Upload release binary"
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: selenium-manager-macos
path: rust/target/selenium-manager-macos
Expand All @@ -186,6 +205,8 @@ jobs:
steps:
- name: "Checkout project"
uses: actions/checkout@v4
with:
ref: ${{ inputs.branch }}
- name: "Update Rust"
run: |
rustup update
Expand All @@ -202,7 +223,7 @@ jobs:
tar -cvf ../../selenium-manager-macos-debug.tar selenium-manager
working-directory: rust
- name: "Upload release binary"
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: selenium-manager-macos-debug
path: selenium-manager-macos-debug.tar
Expand All @@ -212,15 +233,15 @@ jobs:
name: "Release Binaries"
runs-on: ubuntu-latest
needs: [macos-stable, linux-stable, windows-stable, macos-debug, linux-debug, windows-debug]
if: github.event_name != 'schedule' && github.repository_owner == 'seleniumhq' && github.ref == 'refs/heads/trunk'
if: github.event_name != 'schedule' && (github.ref == 'refs/heads/trunk' || inputs.release == 'true')
steps:
- name: "Checkout selenium_manager_artifacts"
uses: actions/checkout@v4
with:
token: ${{ secrets.SELENIUM_CI_TOKEN }}
repository: SeleniumHQ/selenium_manager_artifacts
- name: "Download Artifacts"
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
path: artifacts
- name: "Prepare and Commit"
Expand Down
51 changes: 51 additions & 0 deletions .github/workflows/pin-browsers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Pin Browsers
on:
schedule:
- cron: 10 0 * * *
workflow_dispatch:

jobs:
update:
name: Update Pinned Browsers
uses: ./.github/workflows/bazel.yml
with:
name: Pin Browsers
cache-key: pin-browsers
run: bazel run //scripts:pinned_browsers
artifact-name: pinned-browsers

pull-request:
if: github.repository_owner == 'seleniumhq'
runs-on: ubuntu-latest
needs: update
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Download patch
uses: actions/download-artifact@v4
with:
name: pinned-browsers
- name: Apply Patch
run: |
git apply changes.patch
rm changes.patch
- name: Check Changes
run: |
if [[ -n $(git status --porcelain common/repositories.bzl) ]]; then
echo "CHANGES_FOUND=true" >> $GITHUB_ENV
fi
- name: Create Pull Request
if: env.CHANGES_FOUND == 'true'
uses: peter-evans/create-pull-request@v5
with:
token: ${{ secrets.SELENIUM_CI_TOKEN }}
add-paths: common/repositories.bzl
commit-message: Update pinned browser versions
committer: Selenium CI Bot <selenium-ci@users.noreply.github.com>
author: Selenium CI Bot <selenium-ci@users.noreply.github.com>
title: "[dotnet][rb][java][js][py] Automated Browser Version Update"
body: |
This is an automated pull request to update pinned browsers and drivers

Merge after verify the new browser versions properly passing the tests and no bugs need to be filed
branch: "pinned-browser-updates"
110 changes: 110 additions & 0 deletions .github/workflows/pre-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: Release Preparation

on:
workflow_dispatch:
inputs:
version:
description: 'Selenium version to release'
required: true
chrome_channel:
description: 'Chrome Channel for CDP'
required: true
type: choice
default: "stable"
options:
- stable
- early-stable

jobs:
update-rust:
name: Update Rust Version
runs-on: ubuntu-latest
steps:
- name: "Checkout repo"
uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0
fetch-tags: true
- name: "Prep git"
run: |
git config --local user.email "selenium-ci@users.noreply.github.com"
git config --local user.name "Selenium CI Bot"
if git rev-parse --verify release-${{ github.event.inputs.version }} >/dev/null 2>&1; then
git branch -D release-${{ github.event.inputs.version }}
fi
git checkout -b release-${{ github.event.inputs.version }}
- name: Update Rust Version
run: |
./go rust:version
./go rust:version:commit
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.SELENIUM_CI_TOKEN }}
branch: release-${{ github.event.inputs.version }}
force: true

selenium-manager:
name: Release Selenium Manager
needs: update-rust
uses: ./.github/workflows/ci-rust.yml
with:
release: true
branch: release-${{ github.event.inputs.version }}
secrets:
SELENIUM_CI_TOKEN: ${{ secrets.SELENIUM_CI_TOKEN }}

update-files:
name: Update Files
runs-on: ubuntu-latest
needs: selenium-manager
steps:
- name: "Checkout project"
uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 0
fetch-tags: true
ref: release-${{ github.event.inputs.version }}
- name: Install Ruby
uses: ruby/setup-ruby@ec02537da5712d66d4d50a0f33b7eb52773b5ed1
with:
ruby-version: '3.1'
- name: "Prep git"
run: |
git config --local user.email "selenium-ci@users.noreply.github.com"
git config --local user.name "Selenium CI Bot"
- name: Undo rust changelog commit
run: git reset HEAD~1
- name: Update everything including early release CDP
if: ${{ github.event.inputs.chrome_channel == 'early-stable' }}
run: ./go all:prepare['Beta']
- name: Update everything including released CDP
if: ${{ github.event.inputs.chrome_channel == 'stable' }}
run: ./go all:prepare
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
with:
token: ${{ secrets.SELENIUM_CI_TOKEN }}
author: Selenium CI Bot <selenium-ci@users.noreply.github.com>
delete-branch: true
title: "[build] Prepare for release of Selenium ${{ github.event.inputs.version }}"
body: |
**Warning: Manually update the changelogs before merging**

This PR:
* Updates Rust version for Selenium Manager release
* Updates Pinned browser version to coincide with new CDP release
* Adds support for new CDP version and removes old CDP version
* Selenium Manager references the new Selenium Manager release
* Updates Maven Dependencies
* Adds new authors to authors file
* Updates all versions for all bindings
* Generates *rough* change logs for each bindings (please tidy them up before merging this)

- Auto-generated by [create-pull-request][1]

[1]: https://github.com/peter-evans/create-pull-request
labels: C-build
draft: true
7 changes: 7 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ Ashley Trinh <itsashley@hey.com>
Aslak Hellesøy <aslak.hellesoy@gmail.com>
asmundak <asmundak@google.com>
Atsushi Tatsuma <yoshoku@outlook.com>
Aurélien Pupier <apupier@redhat.com>
Austin Michael Wilkins <42476341+amwilkins@users.noreply.github.com>
BaerMitUmlaut <BaerMitUmlaut@users.noreply.github.com>
Baran Ozgul <baran.ozgul@test.com>
Expand Down Expand Up @@ -234,6 +235,7 @@ Dvoryadkin Pavel <52860505+DvoryadkinPavel@users.noreply.github.com>
Dylan Lacey <github@dylanlacey.com>
Dylan Reichstadt <reichsta@amazon.com>
Dylan Semler <dsem@users.noreply.github.com>
Earlopain <14981592+Earlopain@users.noreply.github.com>
Eberhard Beilharz <eb1@sil.org>
Edi Weissmann <edi.weissmann@gmail.com>
Edirin Atumah <bongosway@users.noreply.github.com>
Expand All @@ -255,6 +257,7 @@ Erik E. Beerepoot <erikbeerepoot@hush.com>
Erik Kuefler <ekuefler@gmail.com>
Evan Sangaline <esangaline@gmail.com>
Evgeniy Roldukhin <evgeniy@roldukhin.ru>
EwaMarek <ewa.marek.3.14@gmail.com>
Fan <1135611487@qq.com>
Felipe Knorr Kuhn <git@knorrium.info>
Fenil Mehta <42742240+fenilgmehta@users.noreply.github.com>
Expand Down Expand Up @@ -354,6 +357,7 @@ Jake Garelick <jakegarelick@gmail.com>
Jake Klingensmith <jklingen92@users.noreply.github.com>
Jakub Vrána <jakub@vrana.cz>
jamadam <sugama@jamadam.com>
James Braza <jamesbraza@gmail.com>
James Cooper
James Garbutt <43081j@users.noreply.github.com>
James Hilliard <james.hilliard1@gmail.com>
Expand Down Expand Up @@ -573,6 +577,7 @@ Michał Herda <phoe@openmailbox.org>
Michele Sama
Mickaël Schoentgen <contact@tiger-222.fr>
Microsoft Provenance Contributions <enhanceprovenance@microsoft.com>
middlingphys <38708390+middlingphys@users.noreply.github.com>
Miguel Carboni <miguel.carboni@gmail.com>
Mike Bellew <mbellew@alterian.com>
Mike Melia <mikemelia@gmail.com>
Expand Down Expand Up @@ -731,6 +736,7 @@ seanrand57 <seanrand57@hotmail.com>
Sebastian Meyer <mail@bastimeyer.de>
Sebastian Monte <sebastian.h.monte@gmail.com>
Sebastien Guillemot <SebastienGllmt@gmail.com>
seidnerj <jonathan.seidner@gmail.com>
Selenium CI Bot <selenium-ci@users.noreply.github.com>
Sen ZmaKi <90490506+SenZmaKi@users.noreply.github.com>
Sergey Chipiga <svchipiga@yandex-team.ru>
Expand Down Expand Up @@ -773,6 +779,7 @@ sugama <sugama@jamadam.com>
sunnyyukaige <kaige8531917@163.com>
symonk <jackofspaces@gmail.com>
Take <takewakamma@gmail.com>
take0x <89313929+take0x@users.noreply.github.com>
Takeshi Kishi <takeya0x86@gmail.com>
Takuho NAKANO <takotakot@users.noreply.github.com>
Takuma Chiba <hogenoserver@gmail.com>
Expand Down
Loading