feat(goal): 4 new subcommands for issue #140 fusion (status/complete/… #54
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
| # Purpose: spec-ci workflow — runs `sin spec check --all` on every PR | |
| # and push to main. A must-priority failure blocks the PR. | |
| # Docs: docs/SPEC-LAYER.md §"CI gate" | |
| # n8n-delegated per mandate M1 (see AGENTS.md §M1). | |
| name: spec-ci | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| # Use the existing concurrency group; spec-ci is fast (<30s) so | |
| # cancel-in-progress is fine. | |
| concurrency: | |
| group: spec-ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| spec-check: | |
| name: spec check | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| cache: true | |
| - name: Build sin-code | |
| run: go build -o /tmp/sin-code ./cmd/sin-code/ | |
| - name: Run spec check | |
| run: /tmp/sin-code spec check --all | |
| # Spec check is fast; the timeout is a safety net for runaway | |
| # `verify:` commands (e.g. `sleep 9999`). | |
| timeout-minutes: 3 | |
| - name: Report | |
| if: always() | |
| run: | | |
| echo "spec-ci: see the 'Run spec check' step for details" | |
| echo " pass = no must-priority failures" | |
| echo " fail = at least one must-priority criterion failed" |