Skip to content

ci(desktop): add advisory relay-backed integration e2e lane - #165

Merged
oscarlehuu merged 1 commit into
mainfrom
ci/147-integration-lane
Aug 12, 2026
Merged

ci(desktop): add advisory relay-backed integration e2e lane#165
oscarlehuu merged 1 commit into
mainfrom
ci/147-integration-lane

Conversation

@oscarlehuu

Copy link
Copy Markdown

Problem

The Playwright integration project is the only desktop e2e lane against a real relay (Postgres + Redis + MinIO + buzz-relay). It includes Crew’s evidence-reactions-relay.spec.ts (#133 / PR #146) and inherited Buzz relay-backed specs. That lane lived only in the disabled upstream CI workflow; active nuncio-crew-ci.yml ran --project=smoke only. Relay-mode regressions (the D-042 class) were not exercised on PRs.

Approach

  • Add Desktop E2E Integration to .github/workflows/nuncio-crew-ci.yml: two shards, same desktop path filter as smoke, services + schema/community seed + setup-desktop-test-data.sh + BUZZ_RECONCILE_CHANNELS=true + playwright test --project=integration.
  • Each shard builds buzz-relay inline (self-contained; never a Gate hard dependency). 30m timeout absorbs cold cargo build; two shards keep wall-clock near upstream’s ~6–7m/shard once warm.
  • Gating (D-047): advisory only — continue-on-error: true, not in gate.needs / JOB_RELEVANCE. Precedent: D-032 (Desktop Smoke E2E). Promotion to required is an explicit future founder decision.
  • Drop stale tokens.spec.ts from integration testMatch (file gone).
  • Contract test locks advisory posture; docs: DECISIONS.md D-047, CI.md, STATE.md, verification 0011.

Cost estimate

Upstream last run ~6m45s / ~6m17s per shard (pre-built relay). Crew shards also build relay → expect ~10–15m cold, closer to upstream with warm rust cache on main pushes. No secrets; ubuntu-latest only.

Verification

  • Local: node --test desktop/src/testing/nuncio-crew-*.test.mjs (28 pass), actionlint, YAML parse.
  • CI proof: this PR’s Desktop E2E Integration jobs must run (workflow path is in the desktop filter).

Risk

Advisory only — cannot block merge. Relay/service flakes surface as red checks without failing Gate.

Exclusions

Fixes #147

@oscarlehuu

Copy link
Copy Markdown
Author

Integration lane first-run evidence

Run: https://github.com/Nuncio-hq/crew/actions/runs/31567147317

Infrastructure (both shards): green — docker compose (Postgres/Redis/MinIO), cargo build --profile ci -p buzz-relay, schema + community seed, relay readiness with BUZZ_RECONCILE_CHANNELS=true, setup-desktop-test-data.sh, Playwright install/build all succeeded. The lane ran.

Shard Duration Playwright stats
1/2 25m23s 111 expected, 8 unexpected, 1 flaky, 1 skipped
2/2 16m57s 79 expected, 3 unexpected, 1 skipped

Spec failures are pre-existing product/spec drift, not CI plumbing:

  • agents.spec.ts (shard 1): discard dialog missing, narrow-view overflow layout, catalog order/detail timeouts, share-to-catalog / community discovery / emoji avatar — inherited Buzz agent-catalog surface; not exercised in Crew since the upstream CI workflow was disabled.
  • profile.spec.ts (shard 2): runtime-tab respond-to / agent-type count, inbox badge — same class of inherited drift.
  • evidence-reactions-relay.spec.ts (shard 1): strict-mode violation on evidence-reaction-rejected (duplicate nodes) — same family as known smoke baseline evidence-reactions.spec.ts strict-mode; product locator scope, not seed/relay setup.

Gate: green (advisory lanes excluded by D-047 / D-032). Merging on Gate + documented pre-existing spec fails.

@oscarlehuu
oscarlehuu force-pushed the ci/147-integration-lane branch from 73962f1 to 9ec3aa1 Compare August 12, 2026 06:05
Restore playwright --project=integration against real Postgres/Redis/MinIO
and buzz-relay in nuncio-crew-ci.yml as an advisory (continue-on-error)
two-shard job, following D-032. Record D-047, drop stale tokens.spec.ts
from the integration testMatch, and update CI/STATE/0011 docs.

Fixes #147
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI: relay-backed desktop e2e (integration project) runs in no active workflow

1 participant