Auto generate and publish CLI docs on each release #890
This file contains hidden or 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: Continuous Integration | |
| on: | |
| pull_request: | |
| workflow_dispatch: | |
| release: | |
| types: [published] | |
| jobs: | |
| update: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: Get user info from GitHub API | |
| id: get_user | |
| run: | | |
| echo "GitHub actor: ${{ github.actor }}" | |
| # Query the GitHub API for the user's details. | |
| curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ | |
| https://api.github.com/users/${{ github.actor }} > user.json | |
| # Extract the user's full name if available, default to the username otherwise. | |
| git_name=$(jq -r '.name // empty' user.json) | |
| if [ -z "$git_name" ]; then | |
| git_name="${{ github.actor }}" | |
| fi | |
| git_email="${{ github.actor }}@users.noreply.github.com" | |
| # Set the outputs for subsequent steps. | |
| echo "GIT_NAME=$git_name" >> $GITHUB_OUTPUT | |
| echo "GIT_EMAIL=$git_email" >> $GITHUB_OUTPUT | |
| - name: Generate token | |
| id: generate_token | |
| uses: actions/create-github-app-token@v1 | |
| with: | |
| app-id: ${{ secrets.TEMPORAL_CICD_APP_ID }} | |
| private-key: ${{ secrets.TEMPORAL_CICD_PRIVATE_KEY }} | |
| owner: ${{ github.repository_owner }} | |
| repositories: documentation # generate a token with permissions to trigger GHA in documentation repo | |
| # TODO: change this to cli_release_tag="${{ github.ref_name }}" \ before merging these changes | |
| - name: Trigger Documentation Workflow | |
| env: | |
| GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }} | |
| run: | | |
| gh workflow run update-cli-docs.yml \ | |
| -R temporalio/documentation \ | |
| -r cli-docs-autoupdate \ | |
| -f cli_release_tag="v1.3.0" \ | |
| -f commit_author="${{ steps.get_user.outputs.GIT_NAME }}" \ | |
| -f commit_author_email="${{ steps.get_user.outputs.GIT_EMAIL }}" \ | |
| -f commit_message="Update CLI docs for release ${{ github.ref_name }}" |