Skip to content

Pin the toolchain for linera-bridge e2e tests to 1.91 and update Carg…#5582

Merged
deuszx merged 1 commit intotestnet_conwayfrom
fix-bridge-e2e-tests
Mar 3, 2026
Merged

Pin the toolchain for linera-bridge e2e tests to 1.91 and update Carg…#5582
deuszx merged 1 commit intotestnet_conwayfrom
fix-bridge-e2e-tests

Conversation

@deuszx
Copy link
Contributor

@deuszx deuszx commented Mar 3, 2026

Motivation

Linera Bridge e2e tests are failing in the CI due to issues with alloy versions and rust toolchain

Proposal

Use custom toolchain for linera-bridge/tests/e2e and update Cargo.lock

Test Plan

Checked locally. This will run after the PR merges to testnet_conway

Release Plan

None for now

Links

@deuszx deuszx requested a review from ndr-ds March 3, 2026 15:49
@deuszx deuszx merged commit 9520605 into testnet_conway Mar 3, 2026
34 checks passed
@deuszx deuszx deleted the fix-bridge-e2e-tests branch March 3, 2026 16:54
deuszx pushed a commit that referenced this pull request Mar 3, 2026
…ack breakage (#5583)

## Motivation

The bridge E2E CI has been failing on every `testnet_conway` push since
at least Feb 28
with a linker error:

rust-lld: error: undefined symbol: __rust_probestack
referenced by linera_wasmer_vm

PR #5582 pinned the bridge e2e toolchain to Rust 1.91 to satisfy alloy's
MSRV, but Rust
1.89+ removed `__rust_probestack` as a linkable extern symbol

([rust-lang/rust#141992](rust-lang/rust#141992)),
which breaks
the linera wasmer fork (v4.4.0-linera.7) that still references it in
`probestack.rs`.

## Proposal

Use Rust 1.88 (the last version before the probestack removal) and cap
alloy to `<1.7`
(since alloy 1.7+ requires Rust 1.91):

- **`rust-toolchain.toml`**: 1.91 → 1.88
- **`Cargo.toml`**: Set `rust-version = "1.88"`, cap alloy to `>=1.0.42,
<1.7`
- **`.cargo/config.toml`** (new): Enable MSRV-aware resolver
(`incompatible-rust-versions = "fallback"`) so alloy sub-crates also
resolve to 1.6.x
- **`Cargo.lock`**: Regenerated (alloy 1.3 → 1.6.3 across all
sub-crates)
- **`bridge-e2e.yml`**: Added `pull_request` trigger targeting
`testnet_conway` so the
test runs on this PR

The proper long-term fix is updating the linera wasmer fork with the
upstream probestack
fix
([wasmerio/wasmer#5690](wasmerio/wasmer#5690)).
The alloy
cap comment documents this.

## Test Plan

- `cargo check` passes locally with Rust 1.88
- The `pull_request` trigger on this PR will run the bridge E2E test in
CI (remove the
trigger before merge)

## Release Plan

- Nothing to do / These changes follow the usual release cycle.

## Links

- Failed CI run:

https://github.com/linera-io/linera-protocol/actions/runs/22633609986/job/65590305218
- Rust PR that removed the symbol:
[rust-lang/rust#141992](rust-lang/rust#141992)
- Upstream wasmer fix:
[wasmerio/wasmer#5690](wasmerio/wasmer#5690)
- PR that introduced Rust 1.91:
[#5582](https://github.com/lera-io/linera-protocol/pull/5582)
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.

2 participants