Skip to content

Commit 917b2d4

Browse files
committed
[build] parse patch version tags to update and PR just applicable languages
1 parent 826a6bd commit 917b2d4

File tree

1 file changed

+44
-5
lines changed

1 file changed

+44
-5
lines changed

.github/workflows/update-documentation.yml

+44-5
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,24 @@ env:
1818
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1919

2020
jobs:
21+
determine-language:
22+
runs-on: ubuntu-latest
23+
outputs:
24+
language: ${{ steps.get-language.outputs.language }}
25+
steps:
26+
- name: Parse language from tag
27+
id: get-language
28+
run: |
29+
tag=${{ inputs.tag }}
30+
language=$(echo $tag | awk -F'-' '{print $NF}')
31+
if [[ ! "$language" =~ ^(java|ruby|python|dotnet|node)$ ]]; then
32+
language="all"
33+
fi
34+
echo "language=$language" > $GITHUB_OUTPUT
35+
2136
java-docs:
2237
runs-on: ubuntu-latest
38+
needs: determine-language
2339
steps:
2440
- name: Checkout the tag
2541
uses: actions/checkout@v4
@@ -35,18 +51,21 @@ jobs:
3551
java-version: 17
3652
distribution: 'temurin'
3753
- name: Update Documentation
54+
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'java'
3855
run: ./go java:docs
3956
- name: Create patch for changes
4057
run: |
4158
git format-patch -1 HEAD --stdout > java-docs.patch
4259
- name: Upload patch
60+
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'java'
4361
uses: actions/upload-artifact@v2
4462
with:
4563
name: java-docs-patch
4664
path: java-docs.patch
4765

4866
ruby-docs:
4967
runs-on: ubuntu-latest
68+
needs: determine-language
5069
steps:
5170
- name: Checkout the tag
5271
uses: actions/checkout@v4
@@ -62,17 +81,20 @@ jobs:
6281
java-version: 17
6382
distribution: 'temurin'
6483
- name: Update Documentation
84+
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'ruby'
6585
run: ./go rb:docs
6686
- name: Create patch for changes
6787
run: |
6888
git format-patch -1 HEAD --stdout > ruby-docs.patch
6989
- name: Upload patch
90+
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'ruby'
7091
uses: actions/upload-artifact@v2
7192
with:
7293
name: ruby-docs-patch
7394
path: ruby-docs.patch
7495

7596
python-docs:
97+
needs: determine-language
7698
runs-on: ubuntu-latest
7799
steps:
78100
- name: Checkout the tag
@@ -92,17 +114,20 @@ jobs:
92114
python -m pip install --upgrade pip
93115
pip install tox
94116
- name: Update Documentation
117+
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'python'
95118
run: ./go py:docs
96119
- name: Create patch for changes
97120
run: |
98121
git format-patch -1 HEAD --stdout > python-docs.patch
99122
- name: Upload patch
123+
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'python'
100124
uses: actions/upload-artifact@v2
101125
with:
102126
name: python-docs-patch
103127
path: python-docs.patch
104128

105129
dotnet-docs:
130+
needs: determine-language
106131
runs-on: ubuntu-latest
107132
steps:
108133
- name: Checkout the tag
@@ -118,17 +143,20 @@ jobs:
118143
# See https://github.com/dotnet/docfx/issues/9855
119144
run: dotnet tool install --global --version 2.75.3 docfx
120145
- name: Update Documentation
146+
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'dotnet'
121147
run: ./go dotnet:docs
122148
- name: Create patch for changes
123149
run: |
124150
git format-patch -1 HEAD --stdout > dotnet-docs.patch
125151
- name: Upload patch
152+
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'dotnet'
126153
uses: actions/upload-artifact@v2
127154
with:
128155
name: dotnet-docs-patch
129156
path: dotnet-docs.patch
130157

131158
node-docs:
159+
needs: determine-language
132160
runs-on: ubuntu-latest
133161
steps:
134162
- name: Checkout the tag
@@ -144,11 +172,13 @@ jobs:
144172
npm install
145173
npm install --prefix javascript/node/selenium-webdriver
146174
- name: Update Documentation
175+
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'node'
147176
run: ./go node:docs
148177
- name: Create patch for changes
149178
run: |
150179
git format-patch -1 HEAD --stdout > node-docs.patch
151180
- name: Upload patch
181+
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'node'
152182
uses: actions/upload-artifact@v2
153183
with:
154184
name: node-docs-patch
@@ -167,24 +197,33 @@ jobs:
167197
git config --local user.email "[email protected]"
168198
git config --local user.name "Selenium CI Bot"
169199
git checkout -b api-docs-${{ inputs.tag }}
170-
- name: Download patches
200+
- name: Download Java patch
201+
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'java'
171202
uses: actions/download-artifact@v2
172203
with:
173204
name: java-docs-patch
174205
path: patches/
175-
- uses: actions/download-artifact@v2
206+
- name: Download Ruby patch
207+
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'ruby'
208+
uses: actions/download-artifact@v2
176209
with:
177210
name: ruby-docs-patch
178211
path: patches/
179-
- uses: actions/download-artifact@v2
212+
- name: Download Python patch
213+
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'python'
214+
uses: actions/download-artifact@v2
180215
with:
181216
name: python-docs-patch
182217
path: patches/
183-
- uses: actions/download-artifact@v2
218+
- name: Download .NET patch
219+
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'dotnet'
220+
uses: actions/download-artifact@v2
184221
with:
185222
name: dotnet-docs-patch
186223
path: patches/
187-
- uses: actions/download-artifact@v2
224+
- name: Download Node patch
225+
if: needs.determine-language.outputs.language == 'all' || needs.determine-language.outputs.language == 'node'
226+
uses: actions/download-artifact@v2
188227
with:
189228
name: node-docs-patch
190229
path: patches/

0 commit comments

Comments
 (0)