Repository navigation
Poll for block progress and retry toolchain installs - #6
Open
nikolap-dat wants to merge 2 commits into
Open
nikolap-dat wants to merge 2 commits into
nikolap-dat wants to merge 2 commits into
Conversation
Two transient conditions failed real deploys today without anything being
wrong with the chain or the program:
- `arch-kit health` sampled the block height twice, 2 s apart, and failed
when it had not moved. A healthy chain still has multi-second gaps between
consecutive blocks (3.5 s between heights 48004 and 48005 on a chain
averaging nine blocks per second), so one probe that lands in such a gap
killed prop-amm's deploy. The check now polls once a second for up to 20 s
and succeeds as soon as the height moves; `observation_window` reports the
time that took. A sampling error still ends the check at once.
- The Anza installer and the platform-tools download behind `cargo
build-sbf` go through the GitHub release API, which intermittently returns
a body the installer cannot parse ("Failed to install platform-tools:
Failed to parse Github response"). The reusable workflow now installs the
toolchain and prefetches platform-tools with three attempts, installs
arch-kit with three attempts, and probes health up to five times so a
pinned older arch-kit or a restarting node does not fail the deploy.
Version 0.1.9 so the CLI change can be published.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
publish-crate.yml refuses a release unless the workflow installs the same version Cargo.toml declares; the bump left ARCH_KIT_VERSION at 0.1.8. The README example moves to the matching tag. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
ARCH_KIT_VERSION in deploy-program.yml is still 0.1.8. The publish workflow checks that against Cargo.toml and exits 1 on mismatch, so publishing 0.1.9 will fail with "deploy-program.yml installs 0.1.8, expected 0.1.9". If it merges as-is the reusable workflow also keeps installing 0.1.8, so consumers pick up the retries but not the health polling change. Needs the env bumped to 0.1.9. |
itsarchnw
approved these changes
Oct 8, 2026
itsarchnw
left a comment
There was a problem hiding this comment.
Versions line up now and the publish check will pass. LGTM.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two transient conditions failed real program deploys today with nothing wrong on the chain:
Health probe.
arch-kit healthsampled the block height twice, 2 s apart, and failed when it had not moved. A healthy chain still has multi-second gaps between consecutive blocks: 3.5 s between heights 48004 and 48005 on internal-b while it averaged ~9 blocks/s. prop-amm's deploy (run 37778455694) landed its single probe in that gap:blocks are not progressing … height changed from 48005 to 48005 over 2s.The check now polls the height once a second for up to 20 s and succeeds as soon as it moves;
observation_windowreports the time that took, and a sampling error still ends the check immediately.src/client.rs, with unit tests for the polling helper; README updated.Toolchain install. The Anza installer and the platform-tools download behind
cargo build-sbfboth go through the GitHub release API, which intermittently returns a body the installer cannot parse. ausd-bridge's testnet deploy (run 37786560414) died onFailed to install platform-tools: Failed to parse Github response: error decoding response body.The reusable
deploy-program.ymlnow installs the toolchain and prefetches platform-tools (cargo-build-sbf --install-only) with three attempts, installs arch-kit with three attempts, and probes health up to five times (covers a consumer pinned to an older arch-kit, or a node mid-restart).Version bumped to 0.1.9 so the CLI change can be published; consumers pinned to the reusable workflow pick up the retries by moving their ref to the merge commit. The per-repo adapters (ausd-bridge, btc-wrapper, CLAMM, arch-vaults, arch-lend) already retry the health probe but install the toolchain in one attempt; that's a separate small change in each repo.
Test plan
cargo fmt --all -- --check,cargo test --locked --all-targets(109 passed),cargo clippy --locked --all-targets -- -D warningsarch-kit healthagainst internal-b reports a sub-second observation window🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.