name: CI on: push: branches: [main] pull_request: branches: [main] jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 cache: npm - run: npm ci - name: Lint run: npm run lint - name: Lint (Obsidian review rules) run: npm run lint:obsidian - name: E2E gate run: timeout 600 npm run e2e - name: Upload e2e artifacts on failure if: failure() uses: actions/upload-artifact@v4 with: name: e2e-${{ github.run_id }} if-no-files-found: ignore path: | .e2e/artifact.json .e2e/results/