50 lines
1.4 KiB
YAML
50 lines
1.4 KiB
YAML
name: Lint code
|
|
|
|
# **What it does**: Lints our code to ensure the code matches the specified code style.
|
|
# **Why we have it**: We want some level of consistency to our code.
|
|
# **Who does it impact**: Docs engineering, open-source engineering contributors.
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
paths:
|
|
- '**.js'
|
|
- '**.mjs'
|
|
- '**.ts'
|
|
- '**.tsx'
|
|
- '**.yaml'
|
|
- '**.yml'
|
|
- '**.scss'
|
|
- .eslintrc.cjs
|
|
# In case something like eslint or tsc or prettier upgrades
|
|
- 'package-lock.json'
|
|
# In case one of the script definitions changed
|
|
- 'package.json'
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
# 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:
|
|
lint-code:
|
|
if: github.repository == 'github/docs-internal' || github.repository == 'github/docs'
|
|
runs-on: ${{ fromJSON('["ubuntu-latest", "ubuntu-20.04-xl"]')[github.repository == 'github/docs-internal'] }}
|
|
steps:
|
|
- name: Check out repo
|
|
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
|
|
|
|
- uses: ./.github/actions/node-npm-setup
|
|
|
|
- name: Run linter
|
|
run: npm run lint
|
|
|
|
- name: Run Prettier
|
|
run: npm run prettier-check
|
|
|
|
- name: Run TypeScript
|
|
run: npm run tsc
|