Skip to content

chore: fix CI - cargo fmt formatting fix - #408

Merged
1nonlypiece merged 2 commits into
mainfrom
chore/ci-green
Jul 29, 2026
Merged

chore: fix CI - cargo fmt formatting fix#408
1nonlypiece merged 2 commits into
mainfrom
chore/ci-green

Conversation

@1nonlypiece

Copy link
Copy Markdown
Contributor

Summary

  • The "Formatting (cargo fmt --check)" job on main was failing because of a double blank line in tests/proptest_timestamps.rs.
  • Since the "Build, Test & Lint" job has needs: fmt, it was being skipped every run as a downstream effect of the fmt failure — it was never actually broken, just gated behind the failing fmt job.
  • Ran cargo fmt to auto-fix the formatting (single whitespace-only change, no logic touched).

Verification (done locally against this branch)

  • cargo fmt -- --check → passes (clean)
  • cargo build --verbose → succeeds
  • cargo test --verbose → all tests pass (66 tests total across unit + integration suites, 0 failures)
  • cargo clippy -- -D warnings → no warnings

No source or test logic was changed or removed — this was purely a formatting issue blocking the pipeline.

Test plan

  • CI "Formatting (cargo fmt --check)" job goes green
  • CI "Build, Test & Lint" job runs (no longer skipped) and goes green
  • "coverage" / "Test Coverage" job remains green
  • "No merge conflict markers" job remains green

The "Formatting (cargo fmt --check)" job was failing on main due to a
double blank line in tests/proptest_timestamps.rs, which in turn caused
the "Build, Test & Lint" job to be skipped (it needs: fmt).

Ran `cargo fmt` to auto-fix the formatting. Verified locally that with
this fix:
  - cargo fmt -- --check passes
  - cargo build --verbose succeeds
  - cargo test --verbose passes (66 tests, 0 failures)
  - cargo clippy -- -D warnings passes with no warnings

No source/logic changes; this is a pure formatting fix.
Both "Build, Test & Lint" and "coverage" jobs were failing on CI's
ubuntu-latest runner (rustc 1.97.1) with:

  error[E0512]: cannot transmute between types of different sizes
    --> ethnum-1.5.2/src/error.rs:16:14
    = note: source type: `()` (0 bits)
    = note: target type: `TryFromIntError` (8 bits)

This is a known upstream bug in ethnum 1.5.2 (transitive dependency of
soroban-env-common, pulled in via soroban-sdk) that breaks under newer
rustc niche-optimization behavior. It reproduces locally too when
building with rustc 1.97.1 (does NOT reproduce on 1.91.1, which is why
it wasn't caught before - the CI runner's "stable" toolchain moved out
from under this pinned Cargo.lock).

Fixed by running `cargo update -p ethnum`, bumping it to 1.5.3, which
is within the semver range already allowed by soroban-env-common's
Cargo.toml (no manifest changes needed, lockfile only).

Verified locally with rustc 1.97.1 (matching the CI runner):
  - cargo build --verbose -> succeeds
  - cargo test --verbose  -> all tests pass
  - cargo clippy -- -D warnings -> no warnings
@1nonlypiece
1nonlypiece merged commit b200f5a into main Jul 29, 2026
4 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.

2 participants