Commit Graph

38 Commits

Author SHA1 Message Date
70c23e06a7 Build CI scripts into test-runner image instead of volume mount
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 3s
CI/CD / test-frontend (pull_request) Successful in 6s
CI/CD / test-go-pg (pull_request) Successful in 2m50s
CI/CD / test-sqlite (pull_request) Successful in 2m55s
CI/CD / test-runners (pull_request) Failing after 59s
CI/CD / build-and-deploy (pull_request) Has been skipped
DinD volume mounts don't work — the Docker daemon can't see the CI
runner's workspace volume. Instead, COPY ci/ into the Playwright
image at build time via dockerfile_inline. No volume detection needed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 09:57:30 +00:00
5a364e75f2 Fix test-runner volume mount for DinD workspace
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 5s
CI/CD / test-frontend (pull_request) Successful in 6s
CI/CD / test-go-pg (pull_request) Successful in 2m48s
CI/CD / test-sqlite (pull_request) Successful in 2m50s
CI/CD / test-runners (pull_request) Failing after 16s
CI/CD / build-and-deploy (pull_request) Has been skipped
In Gitea runner pods, the repo checkout lives in a Docker volume, not
a host path. The `.:/work` mount in docker-compose.ci.yml resolved to
the Docker daemon's CWD (empty), causing "No such file or directory".

Resolve the actual Docker volume backing the CI workspace at runtime
and pass it via CI_WORKSPACE_VOLUME env var. Falls back to `.` for
local (non-DinD) usage.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 09:52:33 +00:00
d7242cb34e Fix CI DinD networking: replace host mode with compose-internal Playwright
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Successful in 6s
CI/CD / test-go-pg (pull_request) Successful in 2m44s
CI/CD / test-sqlite (pull_request) Successful in 2m48s
CI/CD / test-runners (pull_request) Failing after 2m38s
CI/CD / build-and-deploy (pull_request) Has been skipped
The test-runners job was failing because network_mode: host puts the
armature container on DinD's network namespace, unreachable from the
workflow container which is on a separate bridge network.

Fix: Remove host networking entirely. Add a test-runner service to the
CI compose override that runs Playwright tests on the same bridge
network as armature, using Docker DNS (http://armature:80).

Changes:
- docker-compose.ci.yml: Replace network_mode: host with healthcheck
  on armature + Playwright test-runner service (depends_on: healthy)
- ci.yaml: Collapse 7 test-runners steps into 3 (checkout, compose
  up --exit-code-from test-runner, teardown)
2026-04-02 05:24:41 -04:00
e45c31caaa Fix CI DinD networking: host network mode + curl timeout
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 3s
CI/CD / test-frontend (pull_request) Successful in 6s
CI/CD / test-go-pg (pull_request) Successful in 2m43s
CI/CD / test-sqlite (pull_request) Successful in 2m49s
CI/CD / test-runners (pull_request) Failing after 38s
CI/CD / build-and-deploy (pull_request) Has been skipped
The previous fix (container IP resolution) still failed because the
CI runner and compose containers are on separate Docker networks.

- Add docker-compose.ci.yml override with network_mode: host so the
  container shares the runner's network stack directly
- Add --connect-timeout 2 to curl in wait-for-healthy.sh so it fails
  fast instead of hanging indefinitely on unreachable hosts
- Cap health check at 30s (server boots in 5-10s)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 09:09:06 +00:00
4a4160300b Fix CI test-runners health check for DinD networking
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 21s
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-go-pg (pull_request) Successful in 2m35s
CI/CD / test-sqlite (pull_request) Successful in 3m20s
CI/CD / build-and-deploy (pull_request) Has been cancelled
CI/CD / test-runners (pull_request) Has been cancelled
In Gitea runner pods, docker compose port mapping (3000:80) doesn't
expose to the runner container's localhost. Resolve the armature
container IP via `docker inspect` and pass it directly to the health
check and Playwright test runner.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 08:58:29 +00:00
448071d6b9 v0.7.2 Package Runners + CI Gate
Five package-level test runners validating extension API contracts:
- notes-runner: CRUD, folders, tags, search, backlinks (12 tests)
- chat-runner: conversations, messaging, search (9 tests)
- schedules-runner: CRUD + run (5 tests)
- workflow-runner: definitions, instances, stage progression (5 tests)
- renderer-runner: registry contract, block matching (4 tests)

Runner Result API (in-memory, 3 admin endpoints) stores results
from browser runs for CI consumption. Test-runners surface v0.2.0
posts results after each run and fixes suite prefix matching.

CI integration via Playwright: wait-for-healthy.sh, run-surface-tests.sh,
surface-test-driver.js. New test-runners stage in Gitea CI pipeline.

Verified: 169 passed, 0 failed, 9 warned, 8 skipped on fresh install.
Go handler tests: 4/4 passing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 23:52:31 +00:00
1236220302 Feat v0.6.18 ci bundled packages (#53)
All checks were successful
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-frontend (push) Successful in 6s
CI/CD / test-go-pg (push) Successful in 2m45s
CI/CD / test-sqlite (push) Successful in 2m58s
CI/CD / build-and-deploy (push) Successful in 1m37s
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com>
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
2026-04-01 16:49:01 +00:00
680ec3b897 Feat rebrand armature (#43)
All checks were successful
CI/CD / detect-changes (push) Successful in 3s
CI/CD / test-frontend (push) Successful in 5s
CI/CD / test-go-pg (push) Successful in 2m34s
CI/CD / test-sqlite (push) Successful in 2m46s
CI/CD / build-and-deploy (push) Successful in 1m55s
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com>
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
2026-03-31 23:25:37 +00:00
2dabbca5ed unify k8s naming: drop be/fe split, single switchboard deployment
All checks were successful
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-frontend (push) Successful in 5s
CI/CD / test-go-pg (push) Successful in 2m0s
CI/CD / test-sqlite (push) Successful in 2m35s
CI/CD / build-and-deploy (push) Successful in 30s
- k8s/backend.yaml → k8s/switchboard.yaml (already renamed)
- Deployment/Service name: switchboard-be → switchboard
- Removed component:backend labels (single image, no component split)
- Ingress: all paths route to switchboard service on :8080
- CI: updated manifest render, apply, and rollout references
- Removed stale extractor sidecar and extraction env vars
- Updated CHANGELOG and ROADMAP with CI fixes and design decisions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 12:45:14 +00:00
5df46a0221 fix CI deploy: align image var name (BE_IMAGE → IMAGE)
Some checks failed
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-frontend (push) Successful in 5s
CI/CD / test-go-pg (push) Successful in 2m2s
CI/CD / test-sqlite (push) Successful in 2m33s
CI/CD / build-and-deploy (push) Failing after 3m10s
k8s/backend.yaml referenced ${BE_IMAGE} but the workflow env
defines ${IMAGE}, causing envsubst to produce an empty image
name (InvalidImageName). Also consolidated the summary table
to single image line since FE/BE are merged.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 12:29:19 +00:00
9a71ca51cb fix CI rollout: use correct deployment name switchboard-be
Some checks failed
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-frontend (push) Successful in 5s
CI/CD / test-go-pg (push) Successful in 2m2s
CI/CD / test-sqlite (push) Successful in 2m38s
CI/CD / build-and-deploy (push) Failing after 3m12s
The rollout step referenced deployment/switchboard${SUFFIX} but the
k8s manifest names the deployment switchboard-be${SUFFIX}, causing
a NotFound error during rollout verification.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 12:17:45 +00:00
71d448406c step 9: single image CI/CD, drop FE/BE split
Some checks failed
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-frontend (push) Failing after 5s
CI/CD / test-sqlite (push) Successful in 2m37s
CI/CD / test-go-pg (push) Successful in 1m53s
CI/CD / build-and-deploy (push) Has been skipped
CI pipeline: replace separate FE + BE image builds with single unified
Dockerfile. Remove FE_IMAGE, FE_REPLICAS, FE_* resource vars. Simplify
build/push/deploy to single IMAGE. Remove frontend.yaml k8s manifest.
Remove provider integration test env vars (PROVIDER, PROVIDER_KEY,
VENICE_API_KEY). Remove EXTRACTION_CONCURRENCY.

Delete server/Dockerfile (backend-only image, superseded by root
Dockerfile). Delete k8s/frontend.yaml (no separate FE deployment).

Update ROADMAP: steps 5-7 and 9 marked complete. Step 8 (ICD) partial.
Step 10 (smoke test + tag) is all that remains for v0.1.0.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 11:10:47 +00:00
11fd8c1e57 step 1: rename module chat-switchboard → switchboard-core
- go.mod module name
- All 714 import references across 289 Go files
- VERSION: 0.1.0
- CI DB names: switchboard_core_{ci,dev,test}
- Docker image: gobha/switchboard-core
- Test fixtures: JWT issuer, repo names
- .env.example, docker-compose container name
- Compiles clean (go build exit 0)
2026-03-25 19:48:04 -04:00
b7746c3004 Changeset 0.37.14 (#226)
Co-authored-by: gobha <jasafpro@gmail.com>
Co-committed-by: gobha <jasafpro@gmail.com>
2026-03-23 16:47:48 +00:00
128cbb8174 Changeset 0.28.8 (#194) 2026-03-15 23:43:36 +00:00
9b9e2eb756 Changeset 0.28.0.10 (#182) 2026-03-13 09:29:04 +00:00
2fc620e1ac Changeset 0.23.0 (#153) 2026-03-05 22:40:26 +00:00
d8e0664fa3 Changeset 0.22.6 (#148) 2026-03-03 13:12:13 +00:00
09c7281552 Changeset 0.21.1.1 (#87) 2026-03-01 16:40:26 +00:00
817062e5fc Changeset 0.20.0 (#85) 2026-03-01 12:40:15 +00:00
e4a943b03e Changeset 0.18.0 (#79) 2026-02-28 18:24:19 +00:00
a008dac488 Changeset 0.17.2 (#77) 2026-02-28 11:58:27 +00:00
856dc9b0ac Changeset 0.17.1 (#76) 2026-02-28 01:40:31 +00:00
e663104575 Changeset 0.15.0 patches (#72) 2026-02-26 23:44:44 +00:00
e2149e249d Changeset 0.14.0 (#67) 2026-02-26 15:59:26 +00:00
88216ec4cb Changeset 0.12.0 (#63) 2026-02-25 21:38:49 +00:00
c9d8e9457e Changeset 0.11.0 (#62) 2026-02-25 13:29:15 +00:00
4061e4a145 Changeset 0.10.2 (#58) 2026-02-24 20:29:08 +00:00
5e416d3726 Changeset 0.9.4 (#54) 2026-02-24 10:44:12 +00:00
ac7c7c7d59 Changeset 0.9.2 (#52) 2026-02-23 19:31:33 +00:00
8264aa6016 Changeset 0.9.0 (#50) 2026-02-23 01:57:28 +00:00
416e5439ea Changeset 0.7.2 (#40) 2026-02-21 19:03:19 +00:00
a95e246cd7 Changeset 0.7.0 (#37) 2026-02-21 12:43:33 +00:00
925b70f98c Changeset 0.6.0 (#36) 2026-02-20 22:24:47 +00:00
30d0c11219 Changeset 0.5.0 (#35) 2026-02-19 15:03:20 +00:00
d9ab162dfb Completions api (#8) (#29) 2026-02-16 17:00:11 +00:00
d83217504c Ci fixes unified build (#28) 2026-02-16 14:15:46 +00:00
c75f976a2d [BACKEND] Initialize Go backend structure and dependencies (#23) 2026-02-15 22:50:06 +00:00