Content Changes Table Comment #6825
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: 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/reusables/**' | |
- '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: '<!-- MODIFIED_CONTENT_LINKING_COMMENT -->' | |
- 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: | | |
<!-- MODIFIED_CONTENT_LINKING_COMMENT --> | |
## 👓 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/content-changes-table-comment.yml) workflow._ | |
edit-mode: replace |