Update Documentation #2
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: Update Documentation | |
on: | |
workflow_dispatch: | |
inputs: | |
tag: | |
description: Release tag (e.g. selenium-4.21.0) | |
required: true | |
type: string | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
jobs: | |
java-docs: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the tag | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ inputs.tag }} | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: 'temurin' | |
- name: Update Documentation | |
run: ./go java:docs | |
- name: Create patch for changes | |
run: | | |
git format-patch -1 HEAD --stdout > java-docs.patch | |
- name: Upload patch | |
uses: actions/upload-artifact@v2 | |
with: | |
name: java-docs-patch | |
path: java-docs.patch | |
ruby-docs: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the tag | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ inputs.tag }} | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: 'temurin' | |
- name: Update Documentation | |
run: ./go rb:docs | |
- name: Create patch for changes | |
run: | | |
git format-patch -1 HEAD --stdout > ruby-docs.patch | |
- name: Upload patch | |
uses: actions/upload-artifact@v2 | |
with: | |
name: ruby-docs-patch | |
path: ruby-docs.patch | |
python-docs: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the tag | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ inputs.tag }} | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install tox | |
- name: Update Documentation | |
run: ./go py:docs | |
- name: Create patch for changes | |
run: | | |
git format-patch -1 HEAD --stdout > python-docs.patch | |
- name: Upload patch | |
uses: actions/upload-artifact@v2 | |
with: | |
name: python-docs-patch | |
path: python-docs.patch | |
dotnet-docs: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the tag | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ inputs.tag }} | |
- name: Install specific version of DocFX tool | |
# Pinning to 2.75.3 to avoid breaking changes in newer versions | |
# See https://github.com/dotnet/docfx/issues/9855 | |
run: dotnet tool install --global --version 2.75.3 docfx | |
- name: Update Documentation | |
run: ./go dotnet:docs | |
- name: Create patch for changes | |
run: | | |
git format-patch -1 HEAD --stdout > dotnet-docs.patch | |
- name: Upload patch | |
uses: actions/upload-artifact@v2 | |
with: | |
name: dotnet-docs-patch | |
path: dotnet-docs.patch | |
node-docs: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the tag | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ inputs.tag }} | |
- name: Install npm dependencies | |
run: | | |
npm install | |
npm install --prefix javascript/node/selenium-webdriver | |
- name: Update Documentation | |
run: ./go node:docs | |
- name: Create patch for changes | |
run: | | |
git format-patch -1 HEAD --stdout > node-docs.patch | |
- name: Upload patch | |
uses: actions/upload-artifact@v2 | |
with: | |
name: node-docs-patch | |
path: node-docs.patch | |
merge-patches: | |
runs-on: ubuntu-latest | |
needs: [java-docs, ruby-docs, python-docs, dotnet-docs, node-docs] | |
steps: | |
- name: Checkout documentation branch | |
uses: actions/checkout@v4 | |
with: | |
ref: 'gh-pages' | |
- name: Create and checkout new branch | |
run: | | |
git config --local user.email "selenium-ci@users.noreply.github.com" | |
git config --local user.name "Selenium CI Bot" | |
git checkout -b api-docs-${{ inputs.tag }} | |
- name: Download patches | |
uses: actions/download-artifact@v2 | |
with: | |
name: java-docs-patch | |
path: patches/ | |
- uses: actions/download-artifact@v2 | |
with: | |
name: ruby-docs-patch | |
path: patches/ | |
- uses: actions/download-artifact@v2 | |
with: | |
name: python-docs-patch | |
path: patches/ | |
- uses: actions/download-artifact@v2 | |
with: | |
name: dotnet-docs-patch | |
path: patches/ | |
- uses: actions/download-artifact@v2 | |
with: | |
name: node-docs-patch | |
path: patches/ | |
- name: Apply patches | |
run: | | |
for patch in patches/*.patch; do | |
git am < "$patch" | |
done | |
git push origin api-docs-${{ inputs.tag }} |