Generate Automated Documentation (v1) #19
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: Generate Automated Documentation | |
on: | |
workflow_dispatch: | |
inputs: | |
referenceName: | |
description: 'Reference to Generate. Use either `all` to generate all references, `api` to generate the API reference, or a name of a config file in `docs-util/packages/typedoc-config` such as `product`' | |
required: false | |
default: 'all' | |
release: | |
types: [published] | |
jobs: | |
references: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Cancel Previous Runs | |
uses: styfle/[email protected] | |
with: | |
access_token: ${{ github.token }} | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "16.10.0" | |
cache: "yarn" | |
- name: Install dependencies | |
uses: ./.github/actions/cache-deps | |
with: | |
extension: reference | |
- name: Build Packages | |
run: yarn build | |
- name: Install Docs dependencies | |
working-directory: www | |
run: yarn install | |
- name: Install Workspace dependencies | |
run: yarn install | |
working-directory: docs-util | |
- name: Build Workspace dependencies | |
run: yarn build | |
working-directory: docs-util | |
- name: Generate References | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
run: "yarn generate:reference ${{ github.event.inputs.referenceName }}" | |
working-directory: docs-util/packages/scripts | |
- name: Generate References | |
if: ${{ github.event_name != 'workflow_dispatch' }} | |
run: "yarn generate:reference all" | |
working-directory: docs-util/packages/scripts | |
- name: Get PR Message | |
id: pr-message | |
run: yarn generate:message | |
working-directory: docs-util/packages/scripts | |
- name: Create Pull Request | |
uses: peter-evans/create-pull-request@v4 | |
with: | |
commit-message: "chore(docs): Generated References (automated)" | |
base: "develop" | |
title: "chore(docs): Generated References" | |
labels: "type: chore" | |
add-paths: www/apps/docs/content/references/** | |
branch: "docs/generate-reference" | |
branch-suffix: "timestamp" | |
body: ${{ steps.pr-message.outputs.body }} | |
api: | |
runs-on: ubuntu-latest | |
if: ${{ github.event_name == 'release' || github.event.inputs.referenceName == 'all' || github.event.inputs.referenceName == 'api' }} | |
steps: | |
- name: Cancel Previous Runs | |
uses: styfle/[email protected] | |
with: | |
access_token: ${{ github.token }} | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
token: ${{ secrets.REFERENCE_PAT }} | |
fetch-depth: 0 | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "16.10.0" | |
cache: "yarn" | |
- name: Install dependencies | |
uses: ./.github/actions/cache-deps | |
with: | |
extension: reference | |
- name: Build Packages | |
run: yarn build | |
- name: Generate API Reference | |
run: yarn openapi:generate | |
- name: Create Pull Request | |
uses: peter-evans/create-pull-request@v4 | |
with: | |
commit-message: "chore(docs): Generated API Reference" | |
base: "develop" | |
title: "chore(docs): Updated API Reference" | |
labels: "type: chore" | |
add-paths: www/apps/api-reference/specs | |
branch: "docs/generate-api-ref" | |
branch-suffix: "timestamp" |