зеркало из https://github.com/github/docs.git
65 строки
2.6 KiB
YAML
65 строки
2.6 KiB
YAML
name: Test changed content
|
|
|
|
# **What it does**: Runs the vitest tests for changed and deleted content files.
|
|
# **Why we have it**: Use GitHub Actions to run tests on changed content files.
|
|
# **Who does it impact**: Docs engineering, open-source engineering contributors.
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
# This is important! If you make a PR against a megabranch, you
|
|
# might actually want to delete a file without setting up a
|
|
# redirect in its place. But if it's going into `main` we'll
|
|
# want to make sure that doesn't happen.
|
|
- main
|
|
paths:
|
|
- 'content/**'
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
test-changed-content:
|
|
runs-on: ${{ fromJSON('["ubuntu-latest", "ubuntu-20.04-xl"]')[github.repository == 'github/docs-internal'] }}
|
|
if: ${{ github.repository == 'github/docs-internal' || github.repository == 'github/docs' }}
|
|
steps:
|
|
# Each of these ifs needs to be repeated at each step to make sure the required check still runs
|
|
# Even if if doesn't do anything
|
|
- name: Check out repo
|
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
|
with:
|
|
# See https://github.com/tj-actions/changed-files#on-pull_request-
|
|
fetch-depth: 2
|
|
|
|
- uses: ./.github/actions/node-npm-setup
|
|
|
|
- uses: ./.github/actions/get-docs-early-access
|
|
if: ${{ github.repository == 'github/docs-internal' }}
|
|
with:
|
|
token: ${{ secrets.DOCS_BOT_PAT_READPUBLICKEY }}
|
|
|
|
- uses: ./.github/actions/cache-nextjs
|
|
|
|
- name: Run build script
|
|
run: npm run build
|
|
|
|
- name: Get changed files
|
|
id: changed-files
|
|
uses: tj-actions/changed-files@40853de9f8ce2d6cfdc73c1b96f14e22ba44aec4 # v45.0.0
|
|
with:
|
|
# No need to escape the file names because we make the output of
|
|
# tj-actions/changed-files be set as an environment variable. Not
|
|
# as a direct input to the line of bash that uses it.
|
|
# See https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
|
|
safe_output: false
|
|
files: 'content/**'
|
|
# Necessary so we can know what the old name was when a
|
|
# content file was renamed.
|
|
output_renamed_files_as_deleted_and_added: true
|
|
|
|
- name: Run tests
|
|
env:
|
|
CHANGED_FILES: ${{ steps.changed-files.outputs.modified_files }}
|
|
DELETED_FILES: ${{ steps.changed-files.outputs.deleted_files }}
|
|
run: npm test -- src/content-render/tests/render-changed-and-deleted-files.js
|