Commit Graph

14 Commits

Author SHA1 Message Date
4a3be4913f Fix auth cookie name (arm_token) + separate Run All from suite count
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-runners (pull_request) Failing after 2m34s
CI/CD / test-sqlite (pull_request) Successful in 3m8s
CI/CD / test-go-pg (pull_request) Successful in 3m16s
CI/CD / build-and-deploy (pull_request) Has been skipped
1. The driver set cookie name 'token' but the server uses 'arm_token',
   so Playwright always saw the login page instead of the surface.

2. Split "Run All (N suites)" into a "Run All" button + separate
   suite count label — count changes over time and shouldn't be
   part of the button text.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 11:26:59 +00:00
f5f9526f8a Wait for Run All button with proper async selector
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Successful in 6s
CI/CD / test-runners (pull_request) Failing after 1m44s
CI/CD / test-go-pg (pull_request) Successful in 2m55s
CI/CD / test-sqlite (pull_request) Successful in 3m10s
CI/CD / build-and-deploy (pull_request) Has been skipped
The test-runner suites load asynchronously — the button only appears
after runners register. Use waitForSelector with 60s timeout instead
of a fixed 3s delay. Dump page text on failure for debugging.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 11:01:15 +00:00
8945c4f8c3 Pin playwright@1.52.0 to match Docker image + add pre-stage Dockerfile
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-runners (pull_request) Failing after 29s
CI/CD / test-go-pg (pull_request) Successful in 2m40s
CI/CD / test-sqlite (pull_request) Successful in 2m52s
CI/CD / build-and-deploy (pull_request) Has been skipped
npm install playwright pulled v1.59.1 but the Docker image ships
v1.52.0 browsers, causing a version mismatch crash. Pin to 1.52.0.

Also add ci/Dockerfile.test-runner for pre-building the image into
registry.gobha.me:5000/ci-test-runner:latest — eliminates npm install
from every CI run.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 10:48:46 +00:00
51aed715f3 Fix login field name in CI test script: username → login
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 2m46s
CI/CD / test-sqlite (pull_request) Successful in 3m8s
CI/CD / test-runners (pull_request) Failing after 15s
CI/CD / build-and-deploy (pull_request) Has been skipped
The builtin auth provider expects {"login": ...} not {"username": ...},
causing a 400 binding error during test-runner authentication.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 10:37:28 +00:00
d499ba9e38 Fix CI healthcheck endpoint and bundled install FK violations
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-go-pg (pull_request) Successful in 2m44s
CI/CD / test-sqlite (pull_request) Successful in 2m55s
CI/CD / test-runners (pull_request) Failing after 1m43s
CI/CD / build-and-deploy (pull_request) Has been skipped
Two bugs preventing the test-runners CI job from passing:

1. Health check used GET /api/v1/auth/login — a POST-only route that
   always returns 404. Changed to GET /api/v1/health which exists.

2. Bundled package install passed empty strings to FK-constrained
   columns (global_settings.updated_by, workflows.created_by),
   causing FOREIGN KEY constraint failures on every surface and
   workflow package. Fixed by resolving the bootstrap admin user ID
   at startup and threading it through the install path.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 09:41:23 +00: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
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
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
a887b4c78b V0.6.2 docs openapi (#37)
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 2m46s
CI/CD / test-sqlite (push) Successful in 2m49s
CI/CD / build-and-deploy (push) Successful in 28s
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com>
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
2026-03-31 12:01:51 +00:00
1a7f41493d Feat v0.6.0 cluster registry (#36)
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 2m40s
CI/CD / test-sqlite (push) Successful in 3m1s
CI/CD / build-and-deploy (push) Successful in 1m22s
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com>
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
2026-03-30 22:57:11 +00:00
768f15b3cd Feat v0.5.5 upgrade testing (#35)
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 2m35s
CI/CD / test-sqlite (push) Successful in 2m52s
CI/CD / build-and-deploy (push) Successful in 30s
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com>
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
2026-03-30 20:50:53 +00:00
8092f00fbe Feat v0.5.3 chat polish (#33)
All checks were successful
CI/CD / detect-changes (push) Successful in 21s
CI/CD / test-frontend (push) Successful in 4s
CI/CD / test-sqlite (push) Successful in 2m47s
CI/CD / test-go-pg (push) Successful in 2m53s
CI/CD / build-and-deploy (push) Successful in 1m15s
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com>
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
2026-03-30 17:04:40 +00:00
c470037fb5 rebrand + purge orphaned frontend: Chat Switchboard → Switchboard Core
Some checks failed
CI/CD / detect-changes (push) Successful in 23s
CI/CD / test-sqlite (push) Failing after 20s
CI/CD / test-frontend (push) Failing after 21s
CI/CD / test-go-pg (push) Failing after 38s
CI/CD / build-and-deploy (push) Has been skipped
Branding: bulk rename across 50+ files (Go, JS, CSS, HTML, YAML, JSON,
shell scripts). Fix Helm chart description and git repo URLs.
Fix test helper taglines.

Admin surface: strip 14 gutted tabs (providers, models, personas,
roles, knowledge, memory, tasks, health, routing, capabilities,
channels, dashboard, usage, stats). Collapse to 4 categories:
People, Workflows, System, Monitoring.

Settings surface: strip 11 gutted tabs (models, personas, providers,
roles, knowledge, memory, usage, workflows, tasks, data, gitkeys).
Keep: general, appearance, profile, teams, connections, notifications.

Team-admin surface: strip 5 gutted tabs (personas, providers,
knowledge, tasks, usage). Keep: members, groups, connections,
workflows, settings, activity.

Components: delete chat-pane/ (13 files, 1938 lines) and
notes-pane/ (10 files, 2381 lines).

main.go: remove stale Health.Prune maintenance goroutine.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 10:28:09 +00:00
b6cc4df6e7 Changeset 0.24.1 (#157) 2026-03-07 17:11:32 +00:00