-
-
Notifications
You must be signed in to change notification settings - Fork 8.4k
153 lines (145 loc) · 5.8 KB
/
pre-release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
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
- name: "Prep git"
run: |
git config --local user.email "[email protected]"
git config --local user.name "Selenium CI Bot"
if git rev-parse --verify rust-release-${{ github.event.inputs.version }} >/dev/null 2>&1; then
git branch -D rust-release-${{ github.event.inputs.version }}
fi
git checkout -b rust-release-${{ github.event.inputs.version }}
- name: Update Rust Version
run: ./go rust:version ${{ github.event.inputs.version }}
- name: Commit Rust updates
run: git commit -m "update selenium manager version and rust changelog"
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.SELENIUM_CI_TOKEN }}
branch: rust-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: rust-release-${{ github.event.inputs.version }}
secrets:
SELENIUM_CI_TOKEN: ${{ secrets.SELENIUM_CI_TOKEN }}
cleanup-rust-branch:
name: Cleanup Rust Branch
needs: selenium-manager
runs-on: ubuntu-latest
steps:
- name: "Checkout repo"
uses: actions/checkout@v4
with:
token: ${{ secrets.SELENIUM_CI_TOKEN }}
- name: "Delete rust release branch"
run: |
git push origin --delete rust-release-${{ github.event.inputs.version }}
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: trunk
- name: Install Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.1'
working-directory: 'rb'
- name: Setup curl for Ubuntu
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
- name: "Prep git"
run: |
git config --local user.email "[email protected]"
git config --local user.name "Selenium CI Bot"
- name: Update browser versions
run: ./go update_browsers ${{ github.event.inputs.chrome_channel }}
- name: Commit browser updates
run: git commit -m "update pinned browser versions"
- name: Update devtools versions
run: ./go all:update_cdp ${{ github.event.inputs.chrome_channel }}
- name: Commit DevTools updates
run: git commit -m "update devtools versions"
- name: Update Selenium Manager versions
run: ./go update_manager
- name: Commit Selenium Manager updates
run: git commit -m "update selenium manager versions"
- name: Update Maven dependency versions
run: ./go java:update
- name: Commit Maven version updates
run: git commit -m "update maven dependency versions"
- name: Update Authors file
run: ./go authors
- name: Commit Authors updates
run: git commit -m "update authors file"
- name: Bump minor version
run: ./go all:version ${{ github.event.inputs.version }}
- name: Commit version updates
run: git commit -m "bump versions in preparation for release"
- name: Update changelog
run: ./go all:changelogs
- name: Commit changelog updates
run: git commit -m "WIP - rough auto-update of changelog, please edit"
- name: List untracked files
run: git status -u
- name: Clean working directory before PR
run: git clean -fd
- 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 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)
* Not all commits need to be in the change log — users do not need to see anything about building or testing Selenium
* Remove references to updating versions including nightly
* The code now outputs the complete body of the commit message; make sure the changelog message is complete and correct
- This PR was auto-generated by workflow run: [release-preparation][1]
[1]: https://github.com/SeleniumHQ/selenium/actions/runs/${{ github.run_id }}
labels: C-build
draft: true