name: Content Changes Table Comment # **What it does**: When a PR is opened in docs-internal or docs, it adds the staging preview and live article links in a Content Directory Changes table in a comment # **Why we have it**: To help Docs Content team members and contributors automatically have their staging/live article links added to the table # **Who does it impact**: docs-internal/docs maintainers and contributors on: workflow_dispatch: inputs: PR_NUMBER: description: 'PR Number' type: string required: true BASE_SHA: description: 'Base SHA' type: string required: true default: 'main' HEAD_SHA: description: 'Head SHA (latest sha of the PR)' type: string required: true # Required in lieu of `pull_request` so that the content changes tables can be posts to PRs opened from a fork. pull_request_target: types: - opened - synchronize paths: - 'content/**' - 'data/**' - 'assets/images/**' permissions: contents: read pull-requests: write # This allows a subsequently queued workflow run to interrupt previous runs concurrency: group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' cancel-in-progress: true jobs: filterContentDir: if: ${{ github.event.pull_request.user.login != 'docs-bot' && (github.repository == 'github/docs-internal' || github.repository == 'github/docs') }} runs-on: ubuntu-latest env: PR_NUMBER: ${{ github.event.pull_request.number || inputs.PR_NUMBER }} steps: - name: check out repo content uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - uses: ./.github/actions/node-npm-setup # We're setting the URLs manually until we merge in-progress work. We can utilize review server and its helper functions in a later iteration. - name: Set APP_URL run: | if [[ "${{ github.repository }}" == "github/docs-internal" ]]; then echo "APP_URL=https://docs-review.github.com" >> $GITHUB_ENV elif [[ "${{ github.repository }}" == "github/docs" ]]; then echo "APP_URL=https://os-docs-review.github.com" >> $GITHUB_ENV fi - name: Get changes table id: changes timeout-minutes: 30 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} REVIEW_SERVER_ACCESS_TOKEN: ${{ secrets.REVIEW_SERVER_ACCESS_TOKEN }} APP_URL: ${{ env.APP_URL }} BASE_SHA: ${{ github.event.pull_request.base.sha || inputs.BASE_SHA }} HEAD_SHA: ${{ github.event.pull_request.head.sha || inputs.HEAD_SHA }} # HEAD_BRANCH isn't necessary for the table comment, but lets us list the branch in the review server menu bar HEAD_BRANCH: ${{ github.event.pull_request.head.ref }} run: npm run content-changes-table-comment - name: Find content directory changes comment uses: peter-evans/find-comment@3eae4d37986fb5a8592848f6a574fdf654e61f9e id: findComment with: issue-number: ${{ github.event.pull_request.number || inputs.PR_NUMBER }} comment-author: 'github-actions[bot]' body-includes: '' - name: Update comment if: ${{ steps.changes.outputs.changesTable != '' }} uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 with: comment-id: ${{ steps.findComment.outputs.comment-id }} issue-number: ${{ github.event.pull_request.number || inputs.PR_NUMBER }} body: | ## 👓 Previews for changed content **This comment is 🤖 automatically generated and will be overwritten every time changes are committed to this branch.** The table contains an overview of files in the `content` directory that have been changed in this pull request. It's provided to make it easy to review your changes on the review server. Please note that changes to the `data` directory will not show up in this table. --- ### Content directory changes _You may find it useful to copy this table into the pull request summary. There you can edit it to share links to important articles or changes and to give a high-level overview of how the changes in your pull request support the overall goals of the pull request._ ${{ steps.changes.outputs.changesTable }} --- Key: **fpt**: Free, Pro, Team; **ghec**: GitHub Enterprise Cloud; **ghes**: GitHub Enterprise Server _This table is posted from the [${{ github.workflow }}](https://github.com/${{ github.repository }}/blob/${{ github.sha }}/.github/workflows/comment-content-changes-table.yml) workflow._ edit-mode: replace