-
-
Notifications
You must be signed in to change notification settings - Fork 8.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ci] Create pre-release workflow (#13513)
[ci] create pre-release workflow
- Loading branch information
1 parent
fea3262
commit 036b613
Showing
2 changed files
with
132 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 "[email protected]" | ||
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 "[email protected]" | ||
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 <[email protected]> | ||
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 |