Release Preparation #14
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
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[${{ github.event.inputs.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@v1 | |
with: | |
ruby-version: '3.1' | |
working-directory: 'rb' | |
- 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[${{ github.event.inputs.version }},Beta] | |
- name: Update everything including released CDP | |
if: ${{ github.event.inputs.chrome_channel == 'stable' }} | |
run: ./go "all:prepare[${{ github.event.inputs.version }},Stable]" | |
- name: Create Pull Request | |
uses: peter-evans/create-pull-request@v6 | |
with: | |
token: ${{ secrets.SELENIUM_CI_TOKEN }} | |
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** | |
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 |