codegen-patch: real .ts templates, AST splice anchors, watch-mode dev orchestration #44
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| # Cancel an in-flight run if the same branch gets a new push — saves CI | |
| # minutes on rapid iteration. | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| jobs: | |
| check: | |
| name: check | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # `setup-vp` is the official Vite+ setup action: it installs Vite+, | |
| # the matching Node.js version, the configured package manager, and | |
| # handles the dependency cache. Replaces separate setup-node + pnpm | |
| # action-setup + manual cache wiring. | |
| # | |
| # `node-version-file: package.json` reads the engines.node range so | |
| # the lockfile + engines field stay the single source of truth; bumping | |
| # Node only requires editing package.json. | |
| - uses: voidzero-dev/setup-vp@v1 | |
| with: | |
| node-version-file: package.json | |
| cache: true | |
| - run: vp install | |
| - name: Run check (lint, format, typecheck, tests) | |
| run: vp run check | |
| # Aggregator job — the single name listed in the branch ruleset's required | |
| # status checks. Adding a new CI job means appending it to `needs:` here; | |
| # no ruleset edit required. | |
| ci-success: | |
| name: ci-success | |
| needs: [check] | |
| runs-on: ubuntu-latest | |
| # Run even when a needed job fails or is cancelled so we can report a | |
| # decisive failure instead of leaving the required check pending forever. | |
| if: always() | |
| steps: | |
| - name: Verify required jobs succeeded | |
| run: | | |
| if [[ "${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}" == "true" ]]; then | |
| echo "One or more required jobs failed or were cancelled." | |
| exit 1 | |
| fi | |
| echo "All required jobs succeeded." |