--- # yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json name: CI on: push: branches: [main, master] pull_request: branches: [main, master] merge_group: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true permissions: read-all jobs: test: name: ๐Ÿงช Test Suite runs-on: ubuntu-latest timeout-minutes: 15 strategy: matrix: node-version: [22, 24] fail-fast: false steps: - name: ๐Ÿ—๏ธ Setup Development Environment uses: ./.github/actions/setup-dev with: node-version: ${{ matrix.node-version }} - name: ๐Ÿงช Test Grammar uses: ./.github/actions/test-grammar lint: name: ๐Ÿงน Code Quality runs-on: ubuntu-latest timeout-minutes: 15 steps: - name: ๐Ÿ—๏ธ Setup Node.js Environment uses: ./.github/actions/setup-node - name: ๐Ÿงน Run Linter uses: ivuorinen/actions/pr-lint@22e6add79fabcca4bf5761452a51e4fa0207e155 # 25.9.8 coverage: name: ๐Ÿ“Š Test Coverage runs-on: ubuntu-latest timeout-minutes: 15 needs: test steps: - name: ๐Ÿ—๏ธ Setup Development Environment uses: ./.github/actions/setup-dev with: node-version: 24 - name: ๐Ÿ“Š Test Coverage Analysis uses: ./.github/actions/test-coverage with: minimum-tests: 55