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/cancel-workflow-action@0.11.0 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/cancel-workflow-action@0.11.0 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" ui: runs-on: ubuntu-latest if: ${{ github.event_name == 'release' || github.event.inputs.referenceName == 'all' || github.event.inputs.referenceName == 'ui' }} steps: - name: Cancel Previous Runs uses: styfle/cancel-workflow-action@0.11.0 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: Install Workspace dependencies run: yarn install working-directory: docs-util - name: Build Workspace dependencies run: yarn build working-directory: docs-util - name: Generate UI Specs run: yarn generate:ui working-directory: docs-util/packages/react-docs-generator - name: Create Pull Request uses: peter-evans/create-pull-request@v4 with: commit-message: "chore(docs): Generated UI Reference" base: "develop" title: "chore(docs): Updated UI Reference" labels: "type: chore" add-paths: www/apps/ui/src/specs branch: "docs/generate-ui-ref" branch-suffix: "timestamp"