Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
c903c42
add --docker build flag and verify command
leighmcculloch Apr 27, 2026
f135de0
fix path remap; pass docker-host to verify; tests
leighmcculloch Apr 27, 2026
77225ef
minimise diff against main
leighmcculloch Apr 27, 2026
3108cae
update path mounts to workspace
leighmcculloch Apr 27, 2026
b989282
Merge branch 'main' into feat/reproducible-builds-via-docker
leighmcculloch Apr 27, 2026
b860a4f
remove network mode setting
leighmcculloch Apr 27, 2026
144ad93
add rustup toolchain to build command
leighmcculloch Apr 28, 2026
663f136
rustfmt
leighmcculloch Apr 28, 2026
aaccd73
use cargo +toolchain to pin rust version on verify
leighmcculloch Apr 28, 2026
c002c91
bind-mount cargo registry and rustup state from host
leighmcculloch Apr 28, 2026
b06473f
rename --docker to --backend with local|docker[=image]; fully-qualify…
leighmcculloch Apr 29, 2026
e5bba0e
remove docker image override on verify
leighmcculloch Apr 29, 2026
956487a
verify: print cliver/rsver/bldimg from meta
leighmcculloch Apr 29, 2026
79c5bb3
verify: 'wasm sha256' -> 'wasm hash'
leighmcculloch Apr 29, 2026
d63894c
verify: friendlier labels for meta values
leighmcculloch Apr 29, 2026
554c10c
refactor build backend handling to use container logic
leighmcculloch Apr 29, 2026
527bf05
verify: indent meta lines; drop blank line after build complete
leighmcculloch Apr 29, 2026
ab6b9b3
build: blank line between successive contract builds
leighmcculloch Apr 29, 2026
0022b2d
container: emit cargo output raw, force CARGO_TERM_COLOR=always
leighmcculloch Apr 29, 2026
18332ef
container: re-add info prefix on docker pull progress lines
leighmcculloch Apr 29, 2026
1adb2b2
container: emoji on first pull line, blankln continuations
leighmcculloch Apr 29, 2026
7ff2f48
verify: add 'Loading meta from contract' header
leighmcculloch Apr 29, 2026
b285a68
update logging messages for contracts
leighmcculloch Apr 29, 2026
216fed1
container: always install wasm target before build
leighmcculloch Apr 29, 2026
1f168b6
container: allow too_many_arguments on run_in_container
leighmcculloch Apr 29, 2026
0455f17
update build container commands
leighmcculloch Apr 29, 2026
af097d1
verify: use Print for verdict lines
leighmcculloch Apr 29, 2026
0b886a6
verify: enforce single contract per invocation; pre-check workspace
leighmcculloch Apr 29, 2026
e29046c
verify: clippy fix for implicit clone
leighmcculloch Apr 29, 2026
f49d288
refactor build command string formatting
leighmcculloch Apr 29, 2026
4ab95bf
verify: drop --source, use --manifest-path like build
leighmcculloch Apr 29, 2026
127a8ac
move verify under build as a subcommand
leighmcculloch Apr 29, 2026
9ed74d8
change help heading to build backends
leighmcculloch Apr 29, 2026
a4d8599
rename backend container -> docker
leighmcculloch Apr 29, 2026
a8f683a
embed source_repo/source_rev meta; deploy mainnet check; verify multi…
leighmcculloch Apr 29, 2026
ec14369
minimise diff: revert unrelated info/shared.rs edits; tighten target …
leighmcculloch Apr 29, 2026
5a2c5fd
info: drop 'spec' from log messages (loading the contract, not just i…
leighmcculloch Apr 29, 2026
f729cec
build: print cargo invocation after pull progress in docker mode
leighmcculloch Apr 29, 2026
11f590b
build: drop docker[image] prefix from cargo invocation line
leighmcculloch Apr 29, 2026
a232fd5
build: pull docker image only once across multi-contract workspaces
leighmcculloch Apr 29, 2026
8401052
build_docker: prefer if-let over single-pattern match
leighmcculloch Apr 29, 2026
fa4a1f5
verify: blank line before verdict when multiple contracts were built
leighmcculloch Apr 29, 2026
018f76e
container: stop mounting host's ~/.rustup (platform-mismatched binaries)
leighmcculloch Apr 29, 2026
d5fb1cb
deploy/upload: support --backend and --docker-host for auto-build path
leighmcculloch Apr 29, 2026
eef7e7c
embed source_path meta (manifest path relative to git root)
leighmcculloch Apr 29, 2026
c319dea
split bldopts into per-field meta entries: bldopt_manifest_path, bldo…
leighmcculloch Apr 29, 2026
fe07b36
container: mount git repo root when available, fall back to workspace…
leighmcculloch Apr 30, 2026
edc5397
add tar and http-body-util dependencies
leighmcculloch May 1, 2026
42351b1
update crate git revision handling
leighmcculloch May 1, 2026
c5e982a
stream build output directly
leighmcculloch May 1, 2026
c8a1000
refactor verify to use backend metadata
leighmcculloch May 1, 2026
8c08643
docker backend: run stellar inside stellar-cli image
leighmcculloch May 1, 2026
7970c1d
revert files unrelated to docker backend
leighmcculloch May 1, 2026
60cec82
Merge branch 'main' into feat/reproducible-builds-via-docker
leighmcculloch May 1, 2026
237557e
record bldbkd; forward via --meta from docker host
leighmcculloch May 1, 2026
e9b6ca0
pin default docker image to digest
leighmcculloch May 1, 2026
d3be20c
skip pull if image already local
leighmcculloch May 1, 2026
890de29
drop bldbkd meta; bldimg presence signals docker
leighmcculloch May 1, 2026
47e4900
tolerate missing bldopt_* meta in verify
leighmcculloch May 1, 2026
8ae04b9
use image's stellar entrypoint, drop wasm target preflight
leighmcculloch May 1, 2026
5adb3d4
override entrypoint to stellar to skip dbus init
leighmcculloch May 1, 2026
9fe17bc
document reproducibility via build metadata
leighmcculloch May 1, 2026
cd443d2
forward source/bldopt meta from host on docker builds
leighmcculloch May 1, 2026
0006b28
entrypoint installs wasm target before stellar
leighmcculloch May 1, 2026
3a2b587
update rust target add command
leighmcculloch May 1, 2026
68d8325
rename contract verification to draft specification
leighmcculloch May 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 30 additions & 19 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 16 additions & 4 deletions cmd/crates/soroban-test/tests/it/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -594,12 +594,24 @@ fn get_entries(fixture_path: &Path, outdir: &Path) -> Vec<ScMetaEntry> {
Limits::none(),
))
.filter(|entry| match entry {
// Ignore the meta entries that the SDK embeds that capture the SDK and
// Rust version, since these will change often and are not really
// relevant to this test.
// Ignore SDK-embedded keys (rsver, rssdkver) and stellar-cli-embedded
// build-record keys (bldbkd, bldimg, bldopt_*, source_*) — these
// change often and aren't what these tests are asserting on.
Ok(ScMetaEntry::ScMetaV0(ScMetaV0 { key, .. })) => {
let key = key.to_string();
!matches!(key.as_str(), "rsver" | "rssdkver")
!matches!(
key.as_str(),
"rsver"
| "rssdkver"
| "bldbkd"
| "bldimg"
| "bldopt_manifest_path"
| "bldopt_package"
| "bldopt_profile"
| "bldopt_optimize"
| "source_repo"
| "source_rev"
)
}
_ => true,
})
Expand Down
5 changes: 4 additions & 1 deletion cmd/soroban-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,11 @@ whoami = "1.5.2"
serde_with = "3.11.0"
rustc_version = "0.4.1"

[target.'cfg(unix)'.dependencies]
libc = "0.2"

[build-dependencies]
crate-git-revision = "0.0.6"
crate-git-revision = { git = "https://github.com/stellar/crate-git-revision", branch = "dirty-untracked-files" }
serde.workspace = true
thiserror.workspace = true

Expand Down
2 changes: 1 addition & 1 deletion cmd/soroban-cli/src/commands/container/mod.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use crate::commands::global;

pub(crate) mod logs;
mod shared;
pub(crate) mod shared;
pub(crate) mod start;
pub(crate) mod stop;

Expand Down
Loading
Loading