name: CI on: pull_request: paths-ignore: - 'build/**' - 'docs/**' - 'files/**' permissions: contents: read jobs: test: name: Lint, Unit, Unit addons, Circular dependencies & Examples testing runs-on: ubuntu-latest steps: - name: Git checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 - name: Install Node uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6 with: node-version: 24 cache: 'npm' - name: Install dependencies run: npm ci - name: === Lint testing === run: npm run lint - name: === Unit testing === run: npm run test-unit - name: === Unit addons testing === run: npm run test-unit-addons - name: === Examples ready for release === run: npm run test-e2e-cov e2e: name: E2E testing runs-on: ${{ matrix.os }} timeout-minutes: 30 strategy: fail-fast: false matrix: os: [ ubuntu-latest ] CI: [ 0, 1, 2, 3, 4 ] env: CI: ${{ matrix.CI }} steps: - name: Git checkout uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 - name: Install Node uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6 with: node-version: 24 cache: 'npm' - name: Install dependencies run: npm ci - name: Build run: npm run build-module - name: === E2E testing === run: npm run test-e2e - name: Upload output screenshots uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 if: always() with: name: Output screenshots-${{ matrix.os }}-${{ matrix.CI }} path: test/e2e/output-screenshots if-no-files-found: ignore