name: Linting on: push: branches: - main - beta - release - "hotfix*" pull_request: branches: - main - beta - release - "hotfix*" merge_group: types: [checks_requested] workflow_dispatch: jobs: run-linters: name: Run all linters timeout-minutes: 10 runs-on: ubuntu-latest steps: - name: Check out Git repository uses: actions/checkout@v6 with: submodules: "recursive" - uses: ./.github/actions/setup-deps # Lint files with Biome-Lint - https://biomejs.dev/linter/ - name: Lint with Biome run: pnpm biome-ci if: ${{ !cancelled() }} # Validate dependencies with dependency-cruiser - https://github.com/sverweij/dependency-cruiser - name: Run Dependency Cruiser run: pnpm depcruise if: ${{ !cancelled() }} # Validate types with tsc - https://www.typescriptlang.org/docs/handbook/compiler-options.html#using-the-cli - name: Run Typecheck run: pnpm typecheck id: typecheck if: ${{ !cancelled() }} # Run tsc again on the scripts folder. # Required in order to use separate rules for script js files and regular ts files - name: Run Typecheck (scripts) run: pnpm typecheck:scripts id: typecheck-scripts if: ${{ !cancelled() }} - name: Check for REUSE compliance id: reuse-lint uses: fsfe/reuse-action@v5 if: ${{ !cancelled() }}