fluid-core/.github/workflows/ci.yml
tegwick 76912adef8
Some checks failed
ci / build (push) Failing after 1m6s
Generate contract types, pin fixtures to spec, add build and ADRs
Completes FLUID-WP-0002. The record types in internal/contract are
generated from schemas/ by a dependency-free generator; fixtures
transcribed from the spec's worked examples validate against those
schemas and round-trip through the generated types with
DisallowUnknownFields, so a spec change that misses the schemas fails
CI rather than drifting silently.

Adds identifier prefix helpers, Makefile, GitHub Actions, and five ADRs
recording the Go choice, out-of-process attachment, the wire contract as
boundary, the evidence store, and revision identity.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014KmVxhJ35tCo7rE7UnLwWu

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 1116572@bnt-lap001
Assistant-Session: 8ba9bb93-a72a-4883-b189-2499cce5c400
2026-09-04 02:03:12 +02:00

42 lines
990 B
YAML

name: ci
on:
push:
branches: [main]
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.22'
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install schema validation dependencies
run: pip install --quiet jsonschema pyyaml
# The spec-derived fixtures are validated first: if the specification and
# the schemas have diverged, nothing downstream is worth building.
- name: Validate schemas against spec fixtures
run: make validate
# Generated types must match schemas/. A stale internal/contract means a
# schema change landed without regeneration.
- name: Check generated code is current
run: make check-generated
- name: Build
run: make build
- name: Vet
run: make vet
- name: Test
run: make test