fix: apply connection-scoped pragmas via the DSN #153
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: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| # Canonical-formatting gate. No UI/npm and no build — gofmt reads source | |
| # only, so this is the cheapest job and fails fast on drift. Kept separate | |
| # from `test` so a formatting miss is legible on its own, not buried in a | |
| # test log. Fix locally with: gofmt -w . | |
| format: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: '1.24' | |
| - name: gofmt | |
| run: | | |
| unformatted=$(gofmt -l .) | |
| if [ -n "$unformatted" ]; then | |
| echo "::error::gofmt: the following files are not canonically formatted. Run 'gofmt -w .':" | |
| echo "$unformatted" | |
| exit 1 | |
| fi | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: '1.24' | |
| - name: Build UI (required for embed) | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '22' | |
| - name: Build UI assets | |
| run: | | |
| cd ui && npm ci && npm run build && cd .. | |
| cp -r ui/dist cmd/continuity/ui | |
| - name: Test | |
| run: go test ./... -v | |
| # e2e exercises subprocess tests with -tags noembed so this job never depends | |
| # on the npm/UI pipeline. It's the contract guard for tests that build their | |
| # own binary at runtime (internal/cli/retract_e2e_test.go etc.); if the | |
| # noembed path silently breaks, this job fails even when `test` is green. | |
| e2e: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: '1.24' | |
| - name: Run subprocess e2e tests | |
| run: go test -tags noembed -v -count=1 -timeout 5m -run 'E2E|Subprocess' ./internal/... | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version: '1.24' | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: '22' | |
| - name: Build UI | |
| run: | | |
| cd ui && npm ci && npm run build && cd .. | |
| cp -r ui/dist cmd/continuity/ui | |
| - name: Build binary | |
| run: go build -o continuity ./cmd/continuity | |
| - name: Verify binary | |
| run: ./continuity version |