Bootstraps the repository with: - docs/DESIGN.md — full design and requirements document (canonical source of truth; implementation flows from here) - README.md — project overview and roadmap - LICENSE — GPL-3.0 - CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md — community files - CLAUDE.md — project memory for AI assistants - .editorconfig, .gitignore — editor/VCS config - .github/ — CI workflow stub, issue templates, PR template No source code yet; the design doc describes the v1 target. Next: add go.mod and the internal/ package skeleton matching DESIGN.md §6.3. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
47 lines
1.0 KiB
YAML
47 lines
1.0 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [develop, main]
|
|
pull_request:
|
|
branches: [develop, main]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
go:
|
|
name: Go
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Detect Go module
|
|
id: detect
|
|
run: |
|
|
if [ -f go.mod ]; then
|
|
echo "has_go=true" >> "$GITHUB_OUTPUT"
|
|
else
|
|
echo "has_go=false" >> "$GITHUB_OUTPUT"
|
|
echo "::notice::No go.mod yet — skipping Go checks until implementation lands."
|
|
fi
|
|
|
|
- name: Setup Go
|
|
if: steps.detect.outputs.has_go == 'true'
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: go.mod
|
|
cache: true
|
|
|
|
- name: go vet
|
|
if: steps.detect.outputs.has_go == 'true'
|
|
run: go vet ./...
|
|
|
|
- name: go test
|
|
if: steps.detect.outputs.has_go == 'true'
|
|
run: go test -race -count=1 ./...
|
|
|
|
- name: go build
|
|
if: steps.detect.outputs.has_go == 'true'
|
|
run: go build ./...
|