Background
cargo test is currently disabled in the Veil CI workflow because stellar-xdr 20.1.0 requires arbitrary >= 1.4 but the version in Cargo.lock doesn't satisfy it, causing E0433/E0407 compile errors on fresh CI builds (local builds pass due to cargo cache). Fixing this restores test coverage gates on every PR.
What to build
Resolve the stellar-xdr/arbitrary version mismatch so cargo test -p invisible-wallet passes in CI on a clean build.
Key files
contracts/Cargo.toml — dependency declarations
contracts/Cargo.lock — pinned versions (must be committed)
.github/workflows/ci.yml — re-enable the cargo test step
Suggested execution
git checkout -b fix/ci-cargo-test-arbitrary-mismatch
- Run
cargo tree -p stellar-xdr | grep arbitrary to see the required version
- Add
arbitrary = "1.4" (or the required version) as a direct dev-dependency override in contracts/Cargo.toml
- Run
cargo update -p arbitrary to update Cargo.lock
- Run
cargo test -p invisible-wallet on a clean build locally to confirm
- Re-enable the
cargo test step in CI and remove the disable comment
Example commit message:
fix(ci): resolve stellar-xdr arbitrary version mismatch to re-enable cargo test
Acceptance criteria
Drips Wave · Complexity: Medium · 150 points
Comment below to request assignment. PR must include Closes #[this issue].
Background
cargo testis currently disabled in the Veil CI workflow becausestellar-xdr 20.1.0requiresarbitrary >= 1.4but the version inCargo.lockdoesn't satisfy it, causingE0433/E0407compile errors on fresh CI builds (local builds pass due to cargo cache). Fixing this restores test coverage gates on every PR.What to build
Resolve the
stellar-xdr/arbitraryversion mismatch socargo test -p invisible-walletpasses in CI on a clean build.Key files
contracts/Cargo.toml— dependency declarationscontracts/Cargo.lock— pinned versions (must be committed).github/workflows/ci.yml— re-enable thecargo teststepSuggested execution
cargo tree -p stellar-xdr | grep arbitraryto see the required versionarbitrary = "1.4"(or the required version) as a direct dev-dependency override incontracts/Cargo.tomlcargo update -p arbitraryto updateCargo.lockcargo test -p invisible-walleton a clean build locally to confirmcargo teststep in CI and remove the disable commentExample commit message:
fix(ci): resolve stellar-xdr arbitrary version mismatch to re-enable cargo testAcceptance criteria
cargo test -p invisible-walletpasses aftercargo cleancargo teststep re-enabled and greenCargo.lockcommitted with updatedarbitraryversion