Add lint pre-commit hook using husky & lint-staged (#1973) #3344
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
name: Static Analysis | |
on: | |
pull_request: {} | |
push: | |
branches: [develop, master] | |
jobs: | |
ts_lint: | |
name: "Typescript Syntax Check" | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: package.json | |
cache: "yarn" | |
# Does not need branch matching as only analyses this layer | |
- name: Install Deps | |
run: "yarn install --frozen-lockfile" | |
- name: Typecheck | |
run: "yarn run lint:types" | |
i18n_lint: | |
name: "i18n Check" | |
uses: matrix-org/matrix-web-i18n/.github/workflows/i18n_check.yml@main | |
with: | |
hardcoded-words: "Element" | |
js_lint: | |
name: "ESLint" | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: package.json | |
cache: "yarn" | |
# Does not need branch matching as only analyses this layer | |
- name: Install Deps | |
run: "yarn install --frozen-lockfile" | |
- name: Run Linter | |
run: "yarn run lint:js" | |
workflow_lint: | |
name: "Workflow Lint" | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: package.json | |
cache: "yarn" | |
# Does not need branch matching as only analyses this layer | |
- name: Install Deps | |
run: "yarn install --frozen-lockfile" | |
- name: Run Linter | |
run: "yarn lint:workflows" | |
analyse_dead_code: | |
name: "Analyse Dead Code" | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: package.json | |
cache: "yarn" | |
- name: Install Deps | |
run: "yarn install --frozen-lockfile" | |
- name: Run linter | |
run: "yarn run lint:knip" |