chore(deps): update dependency eslint to v9 #456
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
# https://help.github.com/en/categories/automating-your-workflow-with-github-actions | |
name: "Lint" | |
on: # yamllint disable-line rule:truthy | |
push: | |
branches: | |
- "main" | |
# eslint-disable-next-line yml/no-empty-mapping-value | |
pull_request: # yamllint disable-line rule:empty-values | |
concurrency: | |
group: "ci-lint-${{ github.ref }}-1" | |
cancel-in-progress: true | |
permissions: | |
contents: "read" # to fetch code (actions/checkout) | |
jobs: | |
files-changed: | |
name: "Detect what files changed" | |
runs-on: "ubuntu-22.04" | |
timeout-minutes: 3 | |
# Map a step output to a job output | |
outputs: | |
frontend_lintable: "${{ steps.changes.outputs.frontend_lintable }}" | |
markdown_lintable: "${{ steps.changes.outputs.markdown_lintable }}" | |
yaml_lintable: "${{ steps.changes.outputs.yaml_lintable }}" | |
steps: | |
- name: "Git checkout" | |
uses: "actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608" # v4.1.0 | |
env: | |
GIT_COMMITTER_NAME: "GitHub Actions Shell" | |
GIT_AUTHOR_NAME: "GitHub Actions Shell" | |
EMAIL: "github-actions[bot]@users.noreply.github.com" | |
- name: "Check for file changes" | |
uses: "dorny/paths-filter@ebc4d7e9ebcb0b1eb21480bb8f43113e996ac77a" # v3.0.1 | |
id: "changes" | |
with: | |
token: "${{ github.token }}" | |
filters: ".github/file-filters.yml" | |
eslint: | |
if: "needs.files-changed.outputs.frontend_lintable == 'true'" | |
needs: "files-changed" | |
name: "Lint (eslint)" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Harden Runner" | |
uses: "step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09" # v2.5.1 | |
with: | |
egress-policy: "audit" | |
- name: "Git checkout" | |
uses: "actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608" # v4.1.0 | |
with: | |
fetch-depth: 2 | |
env: | |
GIT_COMMITTER_NAME: "GitHub Actions Shell" | |
GIT_AUTHOR_NAME: "GitHub Actions Shell" | |
EMAIL: "github-actions[bot]@users.noreply.github.com" | |
- uses: "pnpm/action-setup@d882d12c64e032187b2edb46d3a0d003b7a43598" # v2.4.0 | |
with: | |
version: 8 | |
run_install: false | |
- name: "Use Node.js 18.x" | |
uses: "actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d" # v3.8.1 | |
with: | |
node-version: "18.x" | |
cache: "pnpm" | |
- name: "Install packages" | |
run: "pnpm install --frozen-lockfile" | |
- name: "Verify the integrity of provenance attestations and registry signatures for installed dependencies" | |
run: "pnpm dlx audit-ci@^6 --config ./audit-ci.jsonc --report-type=summary" | |
- name: "lint" | |
run: "pnpm run lint:eslint" | |
yaml-lint: | |
if: "needs.files-changed.outputs.yaml_lintable == 'true'" | |
needs: "files-changed" | |
name: "Lint (yaml)" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Harden Runner" | |
uses: "step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09" # v2.5.1 | |
with: | |
egress-policy: "audit" | |
- name: "Git checkout" | |
uses: "actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608" # v4.1.0 | |
with: | |
fetch-depth: 2 | |
env: | |
GIT_COMMITTER_NAME: "GitHub Actions Shell" | |
GIT_AUTHOR_NAME: "GitHub Actions Shell" | |
EMAIL: "github-actions[bot]@users.noreply.github.com" | |
- name: "Lint YAML files" | |
uses: "ibiqlik/action-yamllint@2576378a8e339169678f9939646ee3ee325e845c" # v3.1.1 | |
with: | |
config_file: ".yamllint.yaml" | |
file_or_dir: "." | |
strict: true | |
markdown-lint: | |
if: "needs.files-changed.outputs.markdown_lintable == 'true'" | |
needs: "files-changed" | |
name: "Lint (markdown)" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Harden Runner" | |
uses: "step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09" # v2.5.1 | |
with: | |
egress-policy: "audit" | |
- name: "Git checkout" | |
uses: "actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608" # v4.1.0 | |
with: | |
fetch-depth: 2 | |
env: | |
GIT_COMMITTER_NAME: "GitHub Actions Shell" | |
GIT_AUTHOR_NAME: "GitHub Actions Shell" | |
EMAIL: "github-actions[bot]@users.noreply.github.com" | |
- uses: "pnpm/action-setup@d882d12c64e032187b2edb46d3a0d003b7a43598" # v2.4.0 | |
with: | |
version: 8 | |
run_install: false | |
- name: "Use Node.js 18.x" | |
uses: "actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d" # v3.8.1 | |
with: | |
node-version: "18.x" | |
cache: "pnpm" | |
- name: "Install packages" | |
run: "pnpm install --frozen-lockfile" | |
env: | |
SKIP_CHECK: "true" | |
- name: "Verify the integrity of provenance attestations and registry signatures for installed dependencies" | |
run: "pnpm dlx audit-ci@^6 --config ./audit-ci.jsonc --report-type=summary" | |
- name: "lint" | |
run: "pnpm run lint:text" | |
continue-on-error: true | |
- name: "skipping markdown lint for now" | |
run: "exit 0" | |
# This check runs once all dependant jobs have passed | |
# It symbolizes that all required Frontend checks have succesfully passed (Or skipped) | |
# This check is the only required Github check | |
test-required-check: | |
needs: ["files-changed", "eslint", "yaml-lint"] # TODO add "markdown-lint" | |
name: "Check Lint Run" | |
# This is necessary since a failed/skipped dependent job would cause this job to be skipped | |
if: "always()" | |
runs-on: "ubuntu-22.04" | |
steps: | |
# If any jobs we depend on fail, we will fail since this is a required check | |
# NOTE: A timeout is considered a failure | |
- name: "Check for failures" | |
if: "contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')" | |
run: | | |
echo "One of the dependent jobs have failed. You may need to re-run it." && exit 1 |