Skip to content

Commit 3bccc5b

Browse files
authored
[ci] Workflow input to release a specific version (#3114)
Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com> [skip ci]
1 parent f1b3411 commit 3bccc5b

File tree

4 files changed

+54
-6
lines changed

4 files changed

+54
-6
lines changed

.github/actions/get-latest-upstream/action.yml

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ inputs:
66
required: false
77
type: boolean
88
default: false
9+
version:
10+
description: 'Specific Selenium version or release tag to use, e.g 4.42.1'
11+
required: false
12+
default: ''
913
gh_cli_token:
1014
description: 'GitHub CLI authentication token'
1115
required: true
@@ -22,19 +26,28 @@ runs:
2226
shell: bash
2327
env:
2428
AUTHORS: ${{ inputs.authors }}
29+
REQUESTED_VERSION: ${{ inputs.version }}
2530
run: |
2631
sudo apt update
2732
sudo apt install jq
2833
AUTH_HEADER="Authorization: token ${{ inputs.gh_cli_token }}"
29-
if [ "${{ inputs.release }}" = "true" ]; then
34+
RELEASES=$(curl -s -H "$AUTH_HEADER" https://api.github.com/repos/${AUTHORS}/selenium/releases)
35+
if [ -n "${REQUESTED_VERSION}" ]; then
36+
echo "Getting the requested Selenium release: ${REQUESTED_VERSION}"
37+
RELEASE=$(echo "${RELEASES}" | jq -r --arg requested "${REQUESTED_VERSION}" '[.[]? | select(.tag_name == $requested or .tag_name == ("selenium-" + $requested) or ([.assets[]?.name] | index("selenium-server-" + $requested + ".jar")))] | .[0].tag_name')
38+
if [ -z "${RELEASE}" ] || [ "${RELEASE}" = "null" ]; then
39+
echo "Requested Selenium release not found: ${REQUESTED_VERSION}"
40+
exit 1
41+
fi
42+
elif [ "${{ inputs.release }}" = "true" ]; then
3043
echo "Getting the latest stable release."
31-
RELEASE=$(curl -s -H "$AUTH_HEADER" https://api.github.com/repos/${AUTHORS}/selenium/releases | jq -r '[.[]? | select(.prerelease == false)] | .[0].tag_name')
44+
RELEASE=$(echo "${RELEASES}" | jq -r '[.[]? | select(.prerelease == false)] | .[0].tag_name')
3245
else
3346
echo "Getting the latest Nightly release."
34-
RELEASE=$(curl -s -H "$AUTH_HEADER" https://api.github.com/repos/${AUTHORS}/selenium/releases | jq -r '[.[]? | select(.prerelease == true)] | .[0].tag_name' || echo "")
47+
RELEASE=$(echo "${RELEASES}" | jq -r '[.[]? | select(.prerelease == true)] | .[0].tag_name' || echo "")
3548
if [ -z "${RELEASE}" ] || [ "${RELEASE}" = "null" ]; then
3649
echo "Nightly release not found, getting the latest stable release."
37-
RELEASE=$(curl -s -H "$AUTH_HEADER" https://api.github.com/repos/${AUTHORS}/selenium/releases | jq -r '[.[]? | select(.prerelease == false)] | .[0].tag_name')
50+
RELEASE=$(echo "${RELEASES}" | jq -r '[.[]? | select(.prerelease == false)] | .[0].tag_name')
3851
fi
3952
fi
4053
jar_file=$(curl -s -H "$AUTH_HEADER" https://api.github.com/repos/${AUTHORS}/selenium/releases/tags/${RELEASE} | jq -r '.assets[] | select(.name | endswith(".jar")) | .name' | tail -n 1)

.github/workflows/deploy.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ on:
88
required: true
99
type: string
1010
default: 'true'
11+
version:
12+
description: 'Specific Selenium version or release tag to use, e.g 4.42.1'
13+
required: false
14+
default: ''
1115
release:
1216
description: 'Deploy a new release'
1317
required: false
@@ -82,6 +86,7 @@ jobs:
8286
uses: ./.github/actions/get-latest-upstream
8387
with:
8488
release: ${{ github.event.inputs.stable || true }}
89+
version: ${{ github.event.inputs.version || '' }}
8590
gh_cli_token: ${{ secrets.GITHUB_TOKEN }}
8691
authors: ${{ vars.AUTHORS || github.repository_owner }}
8792
- name: Sets build date

.github/workflows/release-preparation.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ on:
55
inputs:
66
grid-version:
77
required: true
8-
default: '4.37.0'
8+
default: '4.41.0'
99
type: string
1010
workflow_dispatch:
1111
inputs:
1212
grid-version:
1313
required: true
1414
type: string
15-
default: '4.37.0'
15+
default: '4.41.0'
1616
description: Expected Grid version to update
1717

1818
jobs:

charts/selenium-grid/multiple-nodes-platform-version.yaml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,16 @@ crossBrowsers:
1313
hpa:
1414
platformName: 'Linux'
1515
browserVersion: ''
16+
- nameOverride: '{{ $.Release.Name }}-node-chrome-146'
17+
imageTag: '146.0-20260222'
18+
hpa:
19+
platformName: 'Linux'
20+
browserVersion: '146.0'
21+
- nameOverride: '{{ $.Release.Name }}-node-chrome-145'
22+
imageTag: '145.0-20260222'
23+
hpa:
24+
platformName: 'Linux'
25+
browserVersion: '145.0'
1626
- nameOverride: '{{ $.Release.Name }}-node-chrome-144'
1727
imageTag: '144.0-20260222'
1828
hpa:
@@ -259,6 +269,16 @@ crossBrowsers:
259269
hpa:
260270
platformName: 'Linux'
261271
browserVersion: ''
272+
- nameOverride: '{{ $.Release.Name }}-node-firefox-149'
273+
imageTag: '149.0-20260222'
274+
hpa:
275+
platformName: 'Linux'
276+
browserVersion: '149.0'
277+
- nameOverride: '{{ $.Release.Name }}-node-firefox-148'
278+
imageTag: '148.0-20260222'
279+
hpa:
280+
platformName: 'Linux'
281+
browserVersion: '148.0'
262282
- nameOverride: '{{ $.Release.Name }}-node-firefox-147'
263283
imageTag: '147.0-20260222'
264284
hpa:
@@ -515,6 +535,16 @@ crossBrowsers:
515535
hpa:
516536
platformName: 'Linux'
517537
browserVersion: ''
538+
- nameOverride: '{{ $.Release.Name }}-node-edge-146'
539+
imageTag: '146.0-20260222'
540+
hpa:
541+
platformName: 'Linux'
542+
browserVersion: '146.0'
543+
- nameOverride: '{{ $.Release.Name }}-node-edge-145'
544+
imageTag: '145.0-20260222'
545+
hpa:
546+
platformName: 'Linux'
547+
browserVersion: '145.0'
518548
- nameOverride: '{{ $.Release.Name }}-node-edge-144'
519549
imageTag: '144.0-20260222'
520550
hpa:

0 commit comments

Comments
 (0)