Skip to content

Bootstrap reusable CI workflow - #511

Merged
wesm merged 1 commit into
mainfrom
ci/reusable-workflow-bootstrap
Jul 26, 2026
Merged

Bootstrap reusable CI workflow#511
wesm merged 1 commit into
mainfrom
ci/reusable-workflow-bootstrap

Conversation

@wesm

@wesm wesm commented Jul 26, 2026

Copy link
Copy Markdown
Member

Summary

  • make the existing CI workflow callable from a later main-pinned dispatcher
  • retain the current pull-request trigger and GitHub-hosted execution during the bootstrap phase

This preserves full pull-request validation while the runner-routing change is reviewed and landed separately.

Keep the existing pull request triggers while making the workflows callable from a later main-pinned dispatcher. This preserves hosted CI evidence across the runner-routing rollout.

Assisted-by: OpenAI
@roborev-ci

roborev-ci Bot commented Jul 26, 2026

Copy link
Copy Markdown

roborev: Combined Review (705cea8)

No issues found.


Reviewers: 2 done | Synthesis: codex | Total: 51s

@wesm
wesm merged commit 46f12f1 into main Jul 26, 2026
22 checks passed
@wesm
wesm deleted the ci/reusable-workflow-bootstrap branch July 26, 2026 17:37
wesm added a commit that referenced this pull request Jul 26, 2026
## Summary

- route canonical same-repository Linux pull requests and main-branch builds to managed Linux runners, with forks and noncanonical copies falling back to GitHub-hosted runners
- invoke reusable workflows from `main` and let checkout use the caller event's immutable SHA without accepting a dispatcher-supplied ref
- lint proposed workflow revisions on GitHub-hosted infrastructure

The managed runner group admits only the listed reusable workflow files from `main`; PR-controlled dispatcher changes therefore cannot target it directly.

Merge #511 first so `main` accepts reusable-workflow calls before this PR replaces the existing pull-request trigger.

Co-authored-by: Wes McKinney <wesm@users.noreply.github.com>
jesserobbins pushed a commit to jesserobbins/msgvault that referenced this pull request Aug 6, 2026
## Summary

- make the existing CI workflow callable from a later main-pinned dispatcher
- retain the current pull-request trigger and GitHub-hosted execution during the bootstrap phase

This preserves full pull-request validation while the runner-routing change is reviewed and landed separately.


Co-authored-by: Wes McKinney <wesm@users.noreply.github.com>
jesserobbins pushed a commit to jesserobbins/msgvault that referenced this pull request Aug 6, 2026
## Summary

- route canonical same-repository Linux pull requests and main-branch builds to managed Linux runners, with forks and noncanonical copies falling back to GitHub-hosted runners
- invoke reusable workflows from `main` and let checkout use the caller event's immutable SHA without accepting a dispatcher-supplied ref
- lint proposed workflow revisions on GitHub-hosted infrastructure

The managed runner group admits only the listed reusable workflow files from `main`; PR-controlled dispatcher changes therefore cannot target it directly.

Merge kenn-io#511 first so `main` accepts reusable-workflow calls before this PR replaces the existing pull-request trigger.

Co-authored-by: Wes McKinney <wesm@users.noreply.github.com>
itms-markshaw added a commit to itmsgroup-au/msgvault that referenced this pull request Aug 11, 2026
…to pick

Audited three community forks against itms-main (== upstream/main 8b8d1e0,
post-kenn-io#571) for the planned picks. Every candidate is already present in, or
superseded by, current upstream:

danshapiro (38 commits ahead, based on upstream kenn-io#511):
- Content-change feed (088c2c7..0d4ae0d: content-column classification,
  content_changed_at watermark, keyset page query, GET /api/v1/messages/changes,
  daemon store adapter, commit-bound cursor recovery, client tests): merged
  upstream as kenn-io#545 (e12f4ca) — authored by danshapiro himself — in refined
  form (ChangedMessagesFrom recovery supersedes the fork's tiebreak-0 clamp).
- fix: copy messages by shared column list (d44a8c9): upstream kenn-io#541 (cd6bfeb).
- content_changed_at/last_modified clobber fix (0d4ae0d):
  lastModifiedUpdateOfColumns + WHEN-guard machinery present in
  internal/store/dialect_sqlite.go.
- Daemon runtime-record self-healing (82ef656, 5dae6ab, 99ba730, caa665f):
  createTimeSkew tolerance, never-delete identity semantics, and
  EnsureRuntimeRecord republish all present in cmd/msgvault/cmd/daemon_runtime.go
  and serve_ownership.go.
- FTS open probe (4823ea4): internal/store/open_fts_probe_test.go present.

dldinternet (10 commits ahead, based on ancient upstream kenn-io#210):
- Concurrent sync + cache-build SQLite corruption fix (3d67c68 + reviews):
  superseded — cache builds now run in a locked subprocess (issue kenn-io#379) with a
  READ_ONLY sqlite ATTACH inside a single snapshot transaction, and SQLite is
  owned by one long-lived daemon process.
- DuckDB engine refresh after rebuild (c4ff443): superseded — the API server
  has atomic SetAnalyticsEngine/QueryEngineForRequest swaps and the DuckDB
  engine binds read_parquet() globs per query, picking up new files without a
  swap.
- MCP [remote] mode (f3ea88a): superseded — msgvault mcp routes through
  OpenHTTPStore, which honors [remote].url (store_resolver.go), with hybrid/
  similar search and attachments over the daemon client.

Whamp (1 commit ahead):
- ESEARCH → plain UID SEARCH fallback (8f84cbe): moot — enumerateMailbox now
  passes nil SearchOptions (plain UID SEARCH unconditionally).

Verified on this branch: go vet ./internal/store/... ./internal/api/...
./pkg/client/... clean; 156 change-feed tests green across 4 packages;
internal/scheduler 75 green; internal/imap search tests green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant