Files
test-repo/.github/workflows/lint.yml
T

112 lines
2.8 KiB
YAML

name: Lint
on:
push:
branches:
- main
- next
- v*
- patch-release
- "!renovate/**"
pull_request:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: "24"
cache: "yarn"
- name: Install Dependencies
run: yarn --immutable
- name: Check Dependencies
run: yarn lint:deps
- name: Check JSDoc Types
run: yarn lint:typecheck
- name: Lint ESLint
run: yarn lint:eslint
- name: Lint Prettier
run: yarn lint:prettier
- name: Spellcheck
run: yarn lint:spellcheck
- name: Lint Changelog
run: yarn lint:changelog
- name: Lint "format test"
run: yarn lint:format-test
- name: Lint docs code block
run: yarn prettier "{docs,website/versioned_docs/version-stable}/**/*.md" --check
env:
# Make Prettier throws on embedded format
PRETTIER_DEBUG: true
- name: Lint workflow files
run: |
bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
./actionlint -color
shell: bash
- name: Dependency Review
# Doesn't support push event https://github.com/actions/dependency-review-action/issues/826
if: github.event_name == 'pull_request'
uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0
- name: Validate renovate config
run: yarn dlx --package renovate@latest renovate-config-validator
- name: Run yarn (/)
run: |
yarn
yarn dedupe --check
- name: Run yarn (/website)
working-directory: website
run: |
yarn
yarn dedupe --check
- name: Run yarn (/scripts/release)
working-directory: scripts/release
run: |
yarn
yarn dedupe --check
- name: Run yarn (/scripts/tools/bundle-test)
working-directory: scripts/tools/bundle-test
run: |
yarn
yarn dedupe --check
- name: Run yarn (/scripts/tools/eslint-plugin-prettier-internal-rules)
working-directory: scripts/tools/eslint-plugin-prettier-internal-rules
run: |
yarn
yarn dedupe --check
- name: Knip
run: yarn lint:knip
- name: Ensure no files changed
run: node ./scripts/ensure-no-files-changed.js