Skip to content

feat: production-ready CLI — config fallback, async MCP, TUI fixes, o… #374

feat: production-ready CLI — config fallback, async MCP, TUI fixes, o…

feat: production-ready CLI — config fallback, async MCP, TUI fixes, o… #374

Workflow file for this run

# 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"