You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Install Subway from acala/subway:v0.1.1 Docker image; set 90s per-upstream timeout (#622)
* Install Subway from upstream `v0.1.0` musl release in `ci.yml`
Switches `cargo install --git` to a `curl | tar -xz` of the
released static binary
(https://github.com/AcalaNetwork/subway/releases/tag/v0.1.0,
published by AcalaNetwork/subway#202). Removes the Rust
toolchain install, Subway-HEAD commit-hash lookup, and
Swatinem cache layer that existed only to amortise the
`cargo install` cost — none of them have any other
consumer in this workflow.
* Install Subway from upstream `v0.1.0` musl release in `update-known-good.yml`
Same swap as the previous commit, applied to the periodic block-number
update workflow.
* Install Subway from upstream `v0.1.0` musl release in `update-snapshot.yml`
Same swap as the previous two commits, applied to the snapshot-update
workflow.
* Fail Subway download fast on HTTP errors (`curl -f`)
Without `-f`, an HTTP 4xx/5xx response (e.g. release deleted, GitHub
degraded) leaves `curl` exiting zero with the error body on stdout,
and the downstream `tar -xz` fails with a confusing "not in gzip
format" message instead. Per review on PR #622.
* Install Subway by extracting binary from `acala/subway:v0.1.1` Docker image
The `v0.1.1` GitHub Release at AcalaNetwork/subway is missing its
`x86_64-unknown-linux-musl.tar.gz` asset; the release workflow's
`Build release binary` step failed (`cargo build --locked` mismatched
the bumped `Cargo.toml` version), so the upload was skipped. The
upstream tag still produces a working Docker image because
`docker.yml` doesn't use `--locked`, so `acala/subway:v0.1.1` is
the only working consumption path for v0.1.1.
The image's binary lives at `/usr/local/bin/subway` (per Subway's
Dockerfile); copying it out with `docker create` + `docker cp` lands
in roughly the same wall time as the curl-and-untar path and unblocks
consumption of PR #203's `request_timeout_seconds` config field.
* Set Subway per-upstream `request_timeout_seconds` to 90s
Subway's default per-upstream request timeout is 30s. With three Acala
public RPC endpoints, heavy storage queries that take longer than 30s
cause Subway to cycle through all three endpoints (~90s) before any
single upstream has a chance to respond, and the test-side waiting
client times out.
`request_timeout_seconds` was added to `ClientConfig` in
AcalaNetwork/subway#203 (Subway v0.1.1+). Setting it to 90 lets a
single upstream attempt run long enough to complete those queries
instead of being preempted by Subway's own per-endpoint clock.
The companion exclusion of Acala tests in `vitest.config.mts` is
intentionally left in place; this commit only restores Subway's
ability to wait long enough. Lifting the exclusion is a separate
verification step.
* Re-enable Acala test suites
`request_timeout_seconds: 90` on Subway's upstream client (added to
`subway-template.yml` in the previous commit) gives Subway enough
time per upstream attempt for Acala storage queries to land before
the 30s default forced it to cycle endpoints. The exclusion added in
PR #621 is no longer needed and is removed; the exclusion comment is
narrowed to bifrostKusama, which still lacks a workable endpoint set.
0 commit comments