name: Code Linter on: push: branches: - dev workflow_call: permissions: contents: read concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: lint: runs-on: ubuntu-latest if: ${{ !contains(github.event.head_commit.message, '[no-lint]') }} steps: - name: Checkout repository uses: actions/checkout@v4 with: submodules: recursive - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: ".nvmrc" - name: Install dependencies run: npm ci - name: Restore Surfer engine cache id: surfer-engine-cache uses: actions/cache@v4 with: path: .surfer/engine/*.tar key: surfer-engine-${{ hashFiles('surfer.json') }} - name: Setup Git run: | git config --global user.name "github-actions[bot]" git config --global user.email "github-actions[bot]@users.noreply.github.com" - name: Download Firefox run: npm run download - name: Import patches run: npm run import - name: Add .hgignore file to the engine dir run: touch engine/.hgignore - name: Run Bootstrap run: npm run bootstrap - name: Lint run: npm run lint