TASK: Replace integration lane with post-build backend runtime black-box tests #72

Merged
darkhelm merged 23 commits from feature/issue-61-runtime-blackbox-integration into main 2026-07-05 22:49:09 -04:00
Owner

Summary

Replace the existing source-context integration lane with backend runtime black-box integration checks that run against started deployable containers.

This change wires deployable backend image references (both commit tag and immutable digest) from the build workflow into the tests workflow, then validates runtime behavior over network endpoints.

Why

Integration confidence should come from testing running service artifacts, not only source-mounted or in-process execution.

What Changed

  • Build workflow now:

    • Publishes deployable backend image tag reference and digest reference
    • Exposes both as job outputs
    • Passes both references into CICD Tests dispatch inputs
  • CICD Tests workflow now:

    • Accepts deployable backend tag and digest inputs
    • Propagates these through setup outputs
    • Replaces previous integration lane behavior with runtime black-box execution:
      • Starts isolated Docker network
      • Starts Postgres container
      • Starts backend container from digest-pinned deployable image
      • Enforces tag-to-digest consistency before running checks
      • Runs endpoint checks against live container:
        • GET /
        • GET /compatibility
        • GET /health
      • Captures backend/db logs and container state on failure
      • Cleans up containers and network via trap
  • Documentation updated:

    • Runtime contract enforcement section now includes runtime black-box integration checks
    • CI success summary now reflects runtime integration lane behavior

Scope

Included:

  • Backend runtime black-box integration replacement for the existing integration lane
  • Digest + tag identity enforcement
  • Failure diagnostics for triage

Out of scope:

  • Frontend runtime smoke checks
  • E2E lane redesign

Acceptance Criteria Mapping

  • Integration tests execute against runtime container endpoints:
  • Integration lane consumes built image references (not source-mounted execution):
  • Failures surface service logs and test logs for triage:

Verification

  • Workflow files pass local validation checks
  • Pre-commit hooks pass on committed changes
  • Branch pushed and ready for PR review
## Summary Replace the existing source-context integration lane with backend runtime black-box integration checks that run against started deployable containers. This change wires deployable backend image references (both commit tag and immutable digest) from the build workflow into the tests workflow, then validates runtime behavior over network endpoints. ## Why Integration confidence should come from testing running service artifacts, not only source-mounted or in-process execution. ## What Changed - Build workflow now: - Publishes deployable backend image tag reference and digest reference - Exposes both as job outputs - Passes both references into CICD Tests dispatch inputs - CICD Tests workflow now: - Accepts deployable backend tag and digest inputs - Propagates these through setup outputs - Replaces previous integration lane behavior with runtime black-box execution: - Starts isolated Docker network - Starts Postgres container - Starts backend container from digest-pinned deployable image - Enforces tag-to-digest consistency before running checks - Runs endpoint checks against live container: - GET / - GET /compatibility - GET /health - Captures backend/db logs and container state on failure - Cleans up containers and network via trap - Documentation updated: - Runtime contract enforcement section now includes runtime black-box integration checks - CI success summary now reflects runtime integration lane behavior ## Scope Included: - Backend runtime black-box integration replacement for the existing integration lane - Digest + tag identity enforcement - Failure diagnostics for triage Out of scope: - Frontend runtime smoke checks - E2E lane redesign ## Acceptance Criteria Mapping - Integration tests execute against runtime container endpoints: ✅ - Integration lane consumes built image references (not source-mounted execution): ✅ - Failures surface service logs and test logs for triage: ✅ ## Verification - Workflow files pass local validation checks - Pre-commit hooks pass on committed changes - Branch pushed and ready for PR review ## Related - Issue: #61 - Dependency context: #66
darkhelm added 1 commit 2026-07-02 08:49:01 -04:00
feat(ci): replace integration lane with runtime black-box tests
All checks were successful
CICD Start / Sanity and Base Decision (push) Successful in 28s
CICD Start / Sanity and Base Decision (pull_request) Successful in 21s
c996d92406
darkhelm added 1 commit 2026-07-02 09:47:59 -04:00
fix(ci): lock backend deps in cicd build and harden renovate auth
Some checks failed
CICD Start / Sanity and Base Decision (pull_request) Successful in 29s
CICD Start / Sanity and Base Decision (push) Failing after 12m54s
1295ffb330
darkhelm added 1 commit 2026-07-02 10:29:18 -04:00
fix(renovate): normalize gitea endpoint and align auth preflight
All checks were successful
CICD Start / Sanity and Base Decision (push) Successful in 24s
CICD Start / Sanity and Base Decision (pull_request) Successful in 26s
b1607ff6c7
darkhelm added 1 commit 2026-07-02 11:10:21 -04:00
fix(ci): harden runtime integration env and renovate auth checks
All checks were successful
CICD Start / Sanity and Base Decision (push) Successful in 15s
CICD Start / Sanity and Base Decision (pull_request) Successful in 18s
3a47f3f154
darkhelm added 1 commit 2026-07-03 21:59:06 -04:00
fix(ci): correct backend ASGI path for runtime black-box lane
All checks were successful
CICD Start / Sanity and Base Decision (push) Successful in 21s
CICD Start / Sanity and Base Decision (pull_request) Successful in 40s
6da60e6beb
darkhelm added 1 commit 2026-07-04 09:15:56 -04:00
fix(backend): set uvicorn app-dir for src layout runtime
Some checks failed
CICD Start / Sanity and Base Decision (pull_request) Successful in 15s
CICD Start / Sanity and Base Decision (push) Failing after 14m56s
98058475cb
darkhelm added 1 commit 2026-07-04 10:58:03 -04:00
fix(ci): reduce yarn install memory in source checks
All checks were successful
CICD Start / Sanity and Base Decision (push) Successful in 21s
CICD Start / Sanity and Base Decision (pull_request) Successful in 1m1s
818c3d43db
darkhelm added 1 commit 2026-07-04 11:27:11 -04:00
fix(ci): use env-based yarn concurrency tuning
All checks were successful
CICD Start / Sanity and Base Decision (push) Successful in 17s
CICD Start / Sanity and Base Decision (pull_request) Successful in 31s
07f048f57a
darkhelm added 1 commit 2026-07-04 15:43:06 -04:00
fix(ci): split source checks by toolchain
All checks were successful
CICD Start / Sanity and Base Decision (push) Successful in 24s
CICD Start / Sanity and Base Decision (pull_request) Successful in 30s
32d5e7d4e7
darkhelm added 1 commit 2026-07-04 23:06:57 -04:00
fix(ci): correct split source-check commands
All checks were successful
CICD Start / Sanity and Base Decision (push) Successful in 24s
CICD Start / Sanity and Base Decision (pull_request) Successful in 29s
38741c580c
darkhelm added 1 commit 2026-07-05 09:54:11 -04:00
fix(ci): add npm fallback for frontend install OOM
Some checks failed
CICD Start / Sanity and Base Decision (pull_request) Successful in 20s
CICD Start / Sanity and Base Decision (push) Failing after 11m32s
ad919e6c11
darkhelm added 1 commit 2026-07-05 10:59:45 -04:00
style(frontend): apply prettier to index.html
Some checks failed
CICD Start / Sanity and Base Decision (pull_request) Successful in 31s
CICD Start / Sanity and Base Decision (push) Failing after 11m7s
6611c20bbf
darkhelm added 1 commit 2026-07-05 11:40:49 -04:00
feat(runners): cap runner memory by host fraction
All checks were successful
CICD Start / Sanity and Base Decision (push) Successful in 26s
CICD Start / Sanity and Base Decision (pull_request) Successful in 34s
6e2b2f5e3a
darkhelm added 1 commit 2026-07-05 11:42:18 -04:00
fix(runners): scale mem cap from current runner limit
All checks were successful
CICD Start / Sanity and Base Decision (push) Successful in 17s
CICD Start / Sanity and Base Decision (pull_request) Successful in 41s
8f07c3ff86
darkhelm added 1 commit 2026-07-05 12:31:11 -04:00
fix(runners): update deploy memory without mem_limit conflict
Some checks are pending
CICD Start / Sanity and Base Decision (push) Waiting to run
CICD Start / Sanity and Base Decision (pull_request) Successful in 21s
0a29464d42
darkhelm added 1 commit 2026-07-05 12:38:37 -04:00
feat(runners): set job container memory below runner
All checks were successful
CICD Start / Sanity and Base Decision (push) Successful in 28s
CICD Start / Sanity and Base Decision (pull_request) Successful in 1m6s
9ae4d6eafb
darkhelm added 1 commit 2026-07-05 13:24:11 -04:00
fix(runners): size limits from host memory share
All checks were successful
CICD Start / Sanity and Base Decision (pull_request) Successful in 15s
CICD Start / Sanity and Base Decision (push) Successful in 30s
2eb94d18f3
darkhelm added 1 commit 2026-07-05 13:42:06 -04:00
feat(runners): add host-share CPU limits
All checks were successful
CICD Start / Sanity and Base Decision (pull_request) Successful in 21s
CICD Start / Sanity and Base Decision (push) Successful in 59s
92549b8edd
darkhelm added 1 commit 2026-07-05 13:51:20 -04:00
feat(runners): add configurable stability resource limits
All checks were successful
CICD Start / Sanity and Base Decision (pull_request) Successful in 16s
CICD Start / Sanity and Base Decision (push) Successful in 25s
f98b4d6857
darkhelm added 1 commit 2026-07-05 13:56:21 -04:00
fix(runners): correct deploy limits memory variable
All checks were successful
CICD Start / Sanity and Base Decision (push) Successful in 17s
CICD Start / Sanity and Base Decision (pull_request) Successful in 15s
eb440bc10f
darkhelm added 1 commit 2026-07-05 14:19:52 -04:00
fix(runners): avoid pids_limit and deploy pids conflict
All checks were successful
CICD Start / Sanity and Base Decision (push) Successful in 19s
CICD Start / Sanity and Base Decision (pull_request) Successful in 31s
f2b79792e2
darkhelm added 1 commit 2026-07-05 15:51:33 -04:00
fix(runners): canonicalize deploy limits block generation
Some checks failed
CICD Start / Sanity and Base Decision (pull_request) Successful in 28s
CICD Start / Sanity and Base Decision (push) Failing after 14m18s
ac0bd9d9d8
darkhelm added 1 commit 2026-07-05 21:50:32 -04:00
fix(ci): probe runtime backend from inside container
All checks were successful
CICD Start / Sanity and Base Decision (push) Successful in 21s
CICD Start / Sanity and Base Decision (pull_request) Successful in 1m0s
3deeee0dcb
darkhelm merged commit 1f6cafa1bc into main 2026-07-05 22:49:09 -04:00
darkhelm deleted branch feature/issue-61-runtime-blackbox-integration 2026-07-05 22:49:15 -04:00
Sign in to join this conversation.