name: CI on: push: branches: [main] pull_request: branches: [main] workflow_dispatch: permissions: contents: read concurrency: group: "ci-${{ github.ref }}" cancel-in-progress: ${{ github.event_name == 'pull_request' }} jobs: build: name: Build runs-on: ubuntu-latest timeout-minutes: 5 steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - name: Use Node.js uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 with: node-version: "lts/*" cache: "npm" - name: Install dependencies run: npm ci - name: Check formatting run: npm run format:check - name: Run linter run: npm run lint - name: Build run: npm run build - name: Run tests run: npm run test:run