Skip to content

Update Documentation #7

Update Documentation

Update Documentation #7

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: Get updated Rakefile
run: |
git fetch origin auto_docs
git checkout origin/auto_docs -- Rakefile
- 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: Get updated Rakefile
run: |
git fetch origin auto_docs
git checkout origin/auto_docs -- Rakefile
- 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: Get updated Rakefile
run: |
git fetch origin auto_docs
git checkout origin/auto_docs -- Rakefile
- 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: Get updated Rakefile
run: |
git fetch origin auto_docs
git checkout origin/auto_docs -- Rakefile
- 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: Get updated Rakefile
run: |
git fetch origin auto_docs
git checkout origin/auto_docs -- Rakefile
- 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 "[email protected]"
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 }}