name: Static Analysis on: pull_request: {} push: branches: [develop, master] jobs: ts_lint: name: "Typescript Syntax Check" runs-on: ubuntu-latest 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-latest 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-latest 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-latest 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"