docs/ci: Append COAMS Developer Guide chapter and patch CI matrices #2
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: COAMS Matrix Verification | |
| on: | |
| push: | |
| branches: [ "main", "develop" ] | |
| pull_request: | |
| branches: [ "main", "develop" ] | |
| # Cancel in-progress runs if a new commit is pushed to the same PR | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| jobs: | |
| # Pillar 1: Fuzzing the Ignorant Engine (Fail Fast) | |
| agent-index-fuzzing: | |
| name: 🌪️ AST Parser Chaos (Fuzzing) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Matrix | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.22' # Adjust to your GERP standard | |
| cache: true | |
| - name: Execute Fuzzer (30 Seconds) | |
| # We run the fuzzer for a controlled duration to catch memory leaks/panics | |
| run: go test -fuzz=FuzzMarkdownASTParser -fuzztime=30s ./internal/coams/... | |
| # Pillar 2: Temporal State Guarantees | |
| temporal-determinism: | |
| name: ⏳ Temporal Rollback Determinism | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Matrix | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.22' | |
| cache: false | |
| - name: Run Publish Saga Suite | |
| # Standard go test with race detector enabled for concurrent saga checks | |
| run: go test -v -race ./internal/pipeline/... | |
| # Pillar 3: Physical Vector Sharding Simulation | |
| alloydb-zero-leak: | |
| name: 🛡️ AlloyDB Zero-Leak Simulation | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Matrix | |
| uses: actions/checkout@v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.22' | |
| cache: true | |
| - name: Boot AlloyDB Omni (pgvector) Simulator | |
| run: docker compose -f docker/coams-sim/docker-compose.yml up -d | |
| - name: Wait for Matrix Partitioning (Healthcheck) | |
| # Ensures the DB and partitions are fully online before Go executes | |
| run: | | |
| echo "Waiting for PostgreSQL partitions to initialize..." | |
| until docker exec $(docker compose -f docker/coams-sim/docker-compose.yml ps -q alloydb-omni-sim) pg_isready -U gerp_admin -d coams_test; do | |
| sleep 2 | |
| done | |
| echo "Database simulation online." | |
| - name: Execute Zero-Leak Integration Tests | |
| # We use a build tag (-tags=integration) so these don't run during normal unit tests | |
| run: go test -v -tags=integration ./internal/coams/... | |
| env: | |
| # Inject the ephemeral DB credentials into the Go test environment | |
| COAMS_DB_URL: postgres://gerp_admin:matrix_password@localhost:5432/coams_test?sslmode=disable | |
| - name: Teardown Simulator | |
| if: always() # Ensure the container is destroyed even if the tests fail | |
| run: docker compose -f docker/coams-sim/docker-compose.yml down |