Skip to content

MANUAL RUN: check the real Alchemy stops cleanly when a deploy is interrupted (#930) #931

Closed as not planned

Description

@QuinnsCode

#930 makes a stopped plan/deploy/destroy send Alchemy SIGINT, wait up to RUSTYBUNS_STOP_GRACE_MS (10s) for it to exit, then SIGKILL it. The tests use a fake Alchemy that finishes its write on SIGINT. The real one hasn't been tried.

To check, on a throwaway stage (smallest resources, destroy after):

  1. rustybuns deploy --stage interrupt_test --yes, then Ctrl-C while it's creating resources.
  2. Does it exit within 10s? Is .alchemy/state readable afterwards (a rustybuns plan --stage interrupt_test that makes sense)?
  3. Repeat with kill <rustybuns pid> from another terminal (SIGTERM).
  4. rustybuns destroy --stage interrupt_test.

If Alchemy needs longer than 10s to stop cleanly, raise the default grace.

Activity

  1. added
    manual runNeeds the owner to run it by hand (tokens, sign-ins); agents can't close it
    on Oct 12, 2026
  2. QuinnsCode commented on Oct 12, 2026

    @QuinnsCode
    OwnerAuthor

    Ran packages/cli/bench/live-interrupt.sh apps/what-would-fantano-say (stage interrupt_test, real Alchemy 2.0.0-beta.77, PR #930's CLI):

    • Ctrl-C partway through destroy (Build deleted, Worker deleting): Alchemy printed Exited. and stopped within the grace period. rustybuns printed ✗ [Stopped] stopped by SIGINT and freed the lock. The next destroy read the state and finished the one remaining delete (Plan: 1 to delete, Done). The state was intact after a stop partway through a write.
    • SIGTERM to rustybuns during deploy: clean stop, no orphaned Alchemy, lock freed, and the following plan read the state fine. But it landed while Alchemy was still loading, before it created anything, so it doesn't test SIGTERM partway through a write. DELAY=12 would land it while the Worker is being created.
    • Full deploy: ok (12.9s). Final destroy: ok. Afterwards the Worker URL returns 404, no Alchemy process is left, and no lock file.

    The default 10s grace was enough. Open: one rerun with DELAY=12.

  3. self-assigned this
    on Oct 13, 2026
  4. QuinnsCode commented on Oct 14, 2026

    @QuinnsCode
    OwnerAuthor

    Folded into the one manual-run list, section 9 of #609 (easiest first, with times). This issue's steps stay here; tick the item in #609.

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

Metadata

Metadata

Assignees

Labels

manual runNeeds the owner to run it by hand (tokens, sign-ins); agents can't close it

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions