Skip to content

test: live e2e suite for ephemeral cranks - #19

Merged
Dodecahedr0x merged 6 commits into
stack/6-crankerfrom
stack/7-e2e
Aug 26, 2026
Merged

test: live e2e suite for ephemeral cranks#19
Dodecahedr0x merged 6 commits into
stack/6-crankerfrom
stack/7-e2e

Conversation

@Dodecahedr0x

@Dodecahedr0x Dodecahedr0x commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Closes #27

Boots mb-test-validator + ephemeral-validator + hydra-cranker and asserts
cranks fire on schedule inside the rollup. noop now logs noop-fired:<id>
so fires are attributed via logsSubscribe instead of polling account state.

Adds the e2e job to CI and the lint-e2e / test-e2e Makefile targets.


Stack created with GitHub Stacks CLIGive Feedback 💬

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 98446759-0705-492c-a623-de183549791e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Boots mb-test-validator + ephemeral-validator + hydra-cranker and asserts
cranks fire on schedule inside the rollup. noop now logs `noop-fired:<id>`
so fires are attributed via logsSubscribe instead of polling account state.

Adds the e2e job to CI and the lint-e2e / test-e2e Makefile targets.
`terminate` shelled out to `kill -INT -<pgid>`. BSD kill (macOS) reads the
bare `-<pgid>` as a negative PID, but procps-ng kill (Linux/CI) parses it as
another option and exits 0 without signalling anything. The exit status was
discarded and stderr sent to /dev/null, so the no-op was invisible.

The cranker therefore never saw SIGINT on CI, skipped its graceful shutdown,
and never ran the undelegate — failing both scenarios with "still delegated
30s after shutdown" while the cranks themselves fired and closed correctly.

`kill -s SIG -- -<pgid>` ends option parsing and delivers on both platforms.
Verified: on ubuntu:24.04 the old form reports rc=0 with the handler never
running, the new form delivers; the full suite still passes on macOS (3/3).
@Dodecahedr0x
Dodecahedr0x merged commit ebd7d8a into main Aug 26, 2026
3 checks passed
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.

No end-to-end coverage for ephemeral cranks

2 participants