feat: production-ready CLI — config fallback, async MCP, TUI fixes, o… #374
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 — delegates `sin spec check --all` to the n8n CI VM. | |
| # 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] | |
| concurrency: | |
| group: spec-ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| delegate: | |
| name: Delegate spec check to n8n | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 2 | |
| steps: | |
| - name: Check n8n webhook secret | |
| env: | |
| N8N_CI_WEBHOOK_URL: ${{ secrets.N8N_CI_WEBHOOK_URL }} | |
| run: | | |
| if [[ -z "$N8N_CI_WEBHOOK_URL" ]]; then | |
| echo "::error::N8N_CI_WEBHOOK_URL secret is not configured" | |
| exit 1 | |
| fi | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Set up Go | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version: '1.26' | |
| - name: Lightweight pre-check | |
| run: | | |
| go vet ./cmd/sin-code/... | |
| - name: Trigger n8n webhook | |
| env: | |
| N8N_CI_WEBHOOK_URL: ${{ secrets.N8N_CI_WEBHOOK_URL }} | |
| run: | | |
| curl -fsS -X POST \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"event":"spec-ci","ref":"${{ github.ref }}","sha":"${{ github.sha }}"}' \ | |
| "$N8N_CI_WEBHOOK_URL" |