diff --git a/.github/workflows/eslint.yml b/.github/workflows/eslint.yml new file mode 100644 index 0000000..144288c --- /dev/null +++ b/.github/workflows/eslint.yml @@ -0,0 +1,44 @@ +name: ESLint + +on: + push: + branches: [ "dev", "master" ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ "dev" ] + schedule: + - cron: '28 6 * * 2' + +jobs: + eslint: + name: Run eslint scanning + runs-on: ubuntu-latest + permissions: + contents: read + security-events: write + actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install ESLint + run: | + yarn add -D --legacy-peer-deps eslint@8.0.0 \ + eslint-plugin-import@2.31.0 \ + @typescript-eslint/parser@8.0.0 \ + @typescript-eslint/eslint-plugin@8.0.0 \ + @microsoft/eslint-formatter-sarif@3.1.0 + + - name: Run ESLint + env: + SARIF_ESLINT_IGNORE_SUPPRESSED: "true" + run: yarn eslint "{src,apps,libs,test}/**/*.ts" + --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/README.md b/README.md index d2c9e22..3345e48 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Workspace Interaction Hub [![LICENSE](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT) +[![ESLint](https://github.com/HardManDev/workspace-interaction-hub/actions/workflows/eslint.yml/badge.svg)](https://github.com/HardManDev/workspace-interaction-hub/actions/workflows/eslint.yml) **Server for Workspace Interaction Hub**