Skip to content

ci: move reminder e2e to a dedicated backend-integration job#1098

Merged
wpfleger96 merged 1 commit into
mainfrom
duncan/relay-e2e-ci-job
Jun 17, 2026
Merged

ci: move reminder e2e to a dedicated backend-integration job#1098
wpfleger96 merged 1 commit into
mainfrom
duncan/relay-e2e-ci-job

Conversation

@wpfleger96

Copy link
Copy Markdown
Collaborator

Problem

The NIP-ER reminder e2e ran as a step named Reminder runtime e2e (proves migrations provisioned the schema) inside the Desktop E2E Integration shard (.github/workflows/ci.yml). Two structural defects:

  1. The name lied. The real schema-drift / migration-version guard lives in the crates/buzz-db/src/migration.rs unit tests — they assert the runner applies versions [1,2,3] on a fresh DB and that schema/schema.sql (the pgschema desired-state snapshot) has not drifted from migration output. That unit test is the sentinel. This suite's "migration proof" was incidental: if migrations/0003 were missing, reminder INSERTs would 500 as a side effect — but that is not the test's reason to exist. It is feature e2e (write-path validation, author-only read filtering, scheduler delivery) in a sentinel costume.
  2. Orphan on the wrong job. It was the only backend/relay --ignored e2e wired into CI, bolted onto a Desktop shard because the NIP-ER feature PR had nowhere proper to put it. just test-integration (the natural local home) cannot host a relay-backed --ignored suite without booting a relay, so the test had no backend CI home.

Change

  • Add a dedicated backend-integration job (Backend Integration (relay e2e)) that boots postgres, redis, typesense, minio, minio-init via docker compose, downloads the existing desktop-e2e-relay artifact, starts the migration-provisioned relay using the same proven relay-boot block, and runs the reminder suite.
  • Remove the reminder step (and its if: matrix.shard == 1) from the Desktop E2E Integration shard. That shard keeps booting its relay for Desktop relay-backed e2e.
  • Rename the step to NIP-ER reminder e2e; the step comment now describes it as feature e2e and points the schema-provisioning guarantee at the migration.rs unit tests where it correctly lives.
  • The migration.rs unit tests are untouched.

Notes

The cargo test --profile ci -p buzz-test-client --test e2e_event_reminder -- --ignored invocation and RELAY_URL: ws://localhost:3000 env are preserved byte-identical, so the suite keeps running against a migration-provisioned relay rather than silently dropping to never-executed. The new job reuses the desktop-e2e-relay artifact (no duplicate relay build); its if: (push || rust) is a subset of the relay job's if:, so the artifact always exists when this job runs.

backend-integration is a new top-level CI check. If branch protection enumerates required checks explicitly, the new check should be added to the required set in repo settings.

The NIP-ER reminder e2e was a step inside the Desktop E2E Integration shard, mislabeled "proves migrations provisioned the schema." The real schema-drift / migration-version guard lives in the buzz-db migration.rs unit tests; this suite is feature e2e. It was also the only backend relay e2e in CI, orphaned on a desktop job because it had nowhere proper to live. Relocate it to a dedicated backend-integration job that reuses the desktop-e2e-relay artifact and the proven relay-boot block, and rename the step to what it is. The cargo invocation and --ignored flag are preserved byte-identical so the suite keeps running against a migration-provisioned relay.

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
@wpfleger96 wpfleger96 force-pushed the duncan/relay-e2e-ci-job branch from 62d4957 to 2137a5f Compare June 17, 2026 23:27
@wpfleger96 wpfleger96 merged commit 466bb99 into main Jun 17, 2026
19 checks passed
@wpfleger96 wpfleger96 deleted the duncan/relay-e2e-ci-job branch June 17, 2026 23:27
tlongwell-block pushed a commit that referenced this pull request Jun 18, 2026
…te-response

* origin/main: (194 commits)
  Fold agent core memory into the session system prompt (#1112)
  feat(cli): add patches and issues commands for NIP-34 git collaboration (#1073)
  fix(desktop): stop random timeline message loss + page reconnect replay (#1105)
  Update README.md
  fix(desktop): keep thread replies from scrolling channel (#1109)
  fix(buzz-acp): accept siblings under allowlist author gate (#1108)
  feat(deploy): add production Helm chart for Buzz (#990)
  fix(desktop): keep MembersSidebar input usable while an add is in flight (#1106)
  chore(release): release version 0.3.25 (#1102)
  fix(desktop): stop dimming deferred message lists (#1104)
  Smooth channel loading: single-surface timeline state machine (#1099)
  feat: surface base + persona system prompts in observer feed (#1103)
  ci: move reminder e2e to a dedicated backend-integration job (#1098)
  fix: give agent-observer sub a replay-capable limit (#1100)
  fix: make managed-agent spawn and teardown portable to Windows (#1097)
  fix(desktop): constrain message timeline width with min-w-0 (#1092)
  feat(desktop): reminders notifications, snooze, overlay, and inbox view mode (#1093)
  feat(prompt): add memory hygiene and hoist universal engineering discipline to base prompt (#1085)
  fix(desktop): correct thread-unread badge flicker, stale clear, phantom count, mention gate, and nested count (#1080)
  Fix mention chip alignment (#1094)
  ...

# Conflicts:
#	crates/buzz-cli/src/commands/workflows.rs
tlongwell-block pushed a commit that referenced this pull request Jun 18, 2026
…te-response

* origin/main: (194 commits)
  Fold agent core memory into the session system prompt (#1112)
  feat(cli): add patches and issues commands for NIP-34 git collaboration (#1073)
  fix(desktop): stop random timeline message loss + page reconnect replay (#1105)
  Update README.md
  fix(desktop): keep thread replies from scrolling channel (#1109)
  fix(buzz-acp): accept siblings under allowlist author gate (#1108)
  feat(deploy): add production Helm chart for Buzz (#990)
  fix(desktop): keep MembersSidebar input usable while an add is in flight (#1106)
  chore(release): release version 0.3.25 (#1102)
  fix(desktop): stop dimming deferred message lists (#1104)
  Smooth channel loading: single-surface timeline state machine (#1099)
  feat: surface base + persona system prompts in observer feed (#1103)
  ci: move reminder e2e to a dedicated backend-integration job (#1098)
  fix: give agent-observer sub a replay-capable limit (#1100)
  fix: make managed-agent spawn and teardown portable to Windows (#1097)
  fix(desktop): constrain message timeline width with min-w-0 (#1092)
  feat(desktop): reminders notifications, snooze, overlay, and inbox view mode (#1093)
  feat(prompt): add memory hygiene and hoist universal engineering discipline to base prompt (#1085)
  fix(desktop): correct thread-unread badge flicker, stale clear, phantom count, mention gate, and nested count (#1080)
  Fix mention chip alignment (#1094)
  ...

Co-authored-by: Tyler Longwell <tlongwell@squareup.com>
Signed-off-by: Tyler Longwell <tlongwell@squareup.com>

# Conflicts:
#	crates/buzz-cli/src/commands/workflows.rs
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.

1 participant