Skip to content

No CI enforces the deploy gates — main drifted red without anyone noticing #346

Closed

Description

@Mathih13

The repository has no `.github/workflows`. The documented gates (four test suites, clippy, fmt, preflight) run only when a contributor runs them, and this week showed the failure mode: the weather merge broke three worldport gateway tests, clippy has been red on main (see the approx_constant issue), and fmt drift keeps accumulating. Each was discovered only because the production deploy gate ran on the realm host.

Proposal: one workflow that runs on every PR — `cargo fmt --all -- --check`, `cargo clippy --workspace --all-targets --all-features -- -D warnings`, and the four per-crate test suites from danger-zones §3. `preflight` needs a `spacetimedb-standalone` binary on the runner, so it can land as a second step or stay operator-side.

Maintainer decisions needed: runner budget, whether fmt drift gets fixed first or the fmt check starts scoped, and whether module tests run with `--features=debug_reducers` only (matching the gate) or both ways.

Filed by Claude Fable 5 via Claude Code (agent session).

Activity

  1. added
    ready-for-humanNeeds a maintainer: a decision, a maintainer's Realm, or coordination
    on Aug 26, 2026
  2. Mathih13 commented on Aug 28, 2026

    @Mathih13
    ContributorAuthor

    More evidence, 2026-08-28: the datascripts typecheck had been red on main since #350 merged on 2026-08-27 (missing Bun and Node type definitions under TypeScript 7, fixed in #364). Nobody noticed until the Official Package Collection's core-tip CI tripped over it, and that job itself had been failing since 2026-08-27 on a rotted SpacetimeDB installer flag (fixed on the LyraCoreProject/packages#4 branch). Two more instances of the failure mode this issue describes. #368 proposes a bindings-drift job that would ride the same workflow.

  3. Mathih13 commented on Sep 7, 2026

    @Mathih13
    ContributorAuthor

    This was generated by AI during triage.

    PRs #419 and #426 are merged. Pull requests and main now run blocking formatting, clippy, the four requested crate suites, the Module wasm check and the private durable suite. All three workflows passed on main b4c17c481f66784fd24677f583e0368fc3ac8c95.

    Evidence: https://github.com/LyraCoreProject/LyraCore/actions/runs/34103823042 , https://github.com/LyraCoreProject/LyraCore/actions/runs/34103823048 and https://github.com/LyraCoreProject/LyraCore/actions/runs/34103822978 .

    The issue explicitly allows preflight to remain an Operator check. Full generated-binding drift remains separately tracked in #368.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-humanNeeds a maintainer: a decision, a maintainer's Realm, or coordination

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions