diff --git a/.github/workflows/eslint-code-scanning.yml b/.github/workflows/eslint-code-scanning.yml new file mode 100644 index 00000000..271ea1af --- /dev/null +++ b/.github/workflows/eslint-code-scanning.yml @@ -0,0 +1,75 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# ESLint is a tool for identifying and reporting on patterns +# found in ECMAScript/JavaScript code. +# More details at https://github.com/eslint/eslint +# and https://eslint.org + +--- + +name: ESLint Code Scanning + + +on: # yamllint disable-line rule:truthy + push: + branches: ["main"] + pull_request: + # The branches below must be a subset of the branches above + branches: ["main"] + workflow_dispatch: + schedule: + # ┌───────────── minute (0 - 59) + # │ ┌───────────── hour (0 - 23) + # │ │ ┌───────────── day of the month (1 - 31) + # │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) + # │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) + # │ │ │ │ │ + # │ │ │ │ │ + # │ │ │ │ │ + # * * * * * + - cron: '23 15 * * 2' + +jobs: + eslint: + name: Run eslint scanning + runs-on: ubuntu-24.04 + permissions: + contents: read + security-events: write + # only required for a private repository by + # github/codeql-action/upload-sarif to get the Action run status + actions: read + steps: + - name: Checkout code + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 22.x + + - name: Install ESLint + run: | + npm install --include=dev eslint@8.57.1 + npm install --include=dev @microsoft/eslint-formatter-sarif@3.0.0 + + - name: Test ESLint + run: | + npx --yes eslint --env-info + + - name: Run ESLint + run: > + npx eslint . + --color + --max-warnings=0 + --format @microsoft/eslint-formatter-sarif + --output-file eslint-results.sarif + continue-on-error: true + + - name: Upload analysis results to GitHub + uses: github/codeql-action/upload-sarif@v3 + with: + sarif_file: eslint-results.sarif + wait-for-processing: true diff --git a/.github/workflows/eslint.yml b/.github/workflows/eslint.yml index 15c0217b..2774e6bc 100644 --- a/.github/workflows/eslint.yml +++ b/.github/workflows/eslint.yml @@ -19,17 +19,6 @@ on: # yamllint disable-line rule:truthy # The branches below must be a subset of the branches above branches: ["main"] workflow_dispatch: - schedule: - # ┌───────────── minute (0 - 59) - # │ ┌───────────── hour (0 - 23) - # │ │ ┌───────────── day of the month (1 - 31) - # │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) - # │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) - # │ │ │ │ │ - # │ │ │ │ │ - # │ │ │ │ │ - # * * * * * - - cron: '23 15 * * 2' jobs: eslint: @@ -59,7 +48,6 @@ jobs: - name: Install ESLint run: | npm install --include=dev eslint@8.57.1 - npm install --include=dev @microsoft/eslint-formatter-sarif@3.0.0 - name: Test ESLint run: | @@ -70,12 +58,4 @@ jobs: npx eslint . --color --max-warnings=0 - --format @microsoft/eslint-formatter-sarif - --output-file eslint-results.sarif - continue-on-error: true - - - name: Upload analysis results to GitHub - uses: github/codeql-action/upload-sarif@v3 - with: - sarif_file: eslint-results.sarif - wait-for-processing: true + && echo '✔ Your code looks good.'