From 0186ba8dafbce2a5555a77a988dbfe9a3f5e040f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastian=20K=C3=B6cher?= Date: Tue, 24 Nov 2020 13:31:32 +0100 Subject: [PATCH] Switch to wasm-builder 3.0.0 (#2004) * Switch to wasm-builder 3.0.0 * Fix deterministic wasm build check --- polkadot/Cargo.lock | 136 +++++++++++++++--- .../test-parachains/adder/Cargo.toml | 2 +- .../parachain/test-parachains/adder/build.rs | 3 +- .../parachain/test-parachains/halt/Cargo.toml | 2 +- .../parachain/test-parachains/halt/build.rs | 3 +- polkadot/runtime/kusama/Cargo.toml | 2 +- polkadot/runtime/kusama/build.rs | 3 +- polkadot/runtime/polkadot/Cargo.toml | 2 +- polkadot/runtime/polkadot/build.rs | 3 +- polkadot/runtime/rococo/Cargo.toml | 2 +- polkadot/runtime/rococo/build.rs | 3 +- polkadot/runtime/test-runtime/Cargo.toml | 2 +- polkadot/runtime/test-runtime/build.rs | 3 +- polkadot/runtime/westend/Cargo.toml | 2 +- polkadot/runtime/westend/build.rs | 3 +- .../scripts/gitlab/test_deterministic_wasm.sh | 2 +- 16 files changed, 133 insertions(+), 40 deletions(-) diff --git a/polkadot/Cargo.lock b/polkadot/Cargo.lock index 362076f70e..b0c7ac6e59 100644 --- a/polkadot/Cargo.lock +++ b/polkadot/Cargo.lock @@ -596,6 +596,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "build-helper" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdce191bf3fa4995ce948c8c83b4640a1745457a149e73c6db75b4ffe36aad5f" +dependencies = [ + "semver 0.6.0", +] + [[package]] name = "bumpalo" version = "3.4.0" @@ -643,6 +652,18 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba" +[[package]] +name = "cargo_metadata" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83f95cf4bf0dda0ac2e65371ae7215d0dce3c187613a9dbf23aaa9374186f97a" +dependencies = [ + "semver 0.11.0", + "semver-parser 0.10.0", + "serde", + "serde_json", +] + [[package]] name = "cc" version = "1.0.58" @@ -2639,7 +2660,7 @@ dependencies = [ "sp-trie", "sp-version", "static_assertions", - "substrate-wasm-builder-runner", + "substrate-wasm-builder", "tiny-keccak", ] @@ -4394,6 +4415,15 @@ dependencies = [ "synstructure", ] +[[package]] +name = "parity-wasm" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16ad52817c4d343339b3bc2e26861bd21478eda0b7509acf83505727000512ac" +dependencies = [ + "byteorder", +] + [[package]] name = "parity-wasm" version = "0.41.0" @@ -5308,7 +5338,7 @@ dependencies = [ "sp-trie", "sp-version", "static_assertions", - "substrate-wasm-builder-runner", + "substrate-wasm-builder", "tiny-keccak", "trie-db", ] @@ -5600,7 +5630,7 @@ dependencies = [ "sp-transaction-pool", "sp-trie", "sp-version", - "substrate-wasm-builder-runner", + "substrate-wasm-builder", "tiny-keccak", ] @@ -5912,7 +5942,7 @@ checksum = "0f53bc2558e8376358ebdc28301546471d67336584f6438ed4b7c7457a055fd7" dependencies = [ "byteorder", "log", - "parity-wasm", + "parity-wasm 0.41.0", ] [[package]] @@ -6389,7 +6419,7 @@ dependencies = [ "sp-std", "sp-transaction-pool", "sp-version", - "substrate-wasm-builder-runner", + "substrate-wasm-builder", ] [[package]] @@ -6444,7 +6474,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" dependencies = [ - "semver", + "semver 0.9.0", ] [[package]] @@ -6507,6 +6537,15 @@ dependencies = [ "stream-cipher 0.7.1", ] +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + [[package]] name = "sc-authority-discovery" version = "0.8.0" @@ -6874,7 +6913,7 @@ dependencies = [ "libsecp256k1", "log", "parity-scale-codec", - "parity-wasm", + "parity-wasm 0.41.0", "parking_lot 0.10.2", "sc-executor-common", "sc-executor-wasmi", @@ -6901,7 +6940,7 @@ dependencies = [ "derive_more", "log", "parity-scale-codec", - "parity-wasm", + "parity-wasm 0.41.0", "sp-allocator", "sp-core", "sp-runtime-interface", @@ -6932,7 +6971,7 @@ source = "git+https://github.com/paritytech/substrate#0840c58849bc84e7fd72627745 dependencies = [ "log", "parity-scale-codec", - "parity-wasm", + "parity-wasm 0.41.0", "pwasm-utils", "sc-executor-common", "scoped-tls", @@ -7540,13 +7579,32 @@ dependencies = [ "libc", ] +[[package]] +name = "semver" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a3186ec9e65071a2095434b1f5bb24838d4e8e130f584c790f6033c79943537" +dependencies = [ + "semver-parser 0.7.0", +] + [[package]] name = "semver" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" dependencies = [ - "semver-parser", + "semver-parser 0.7.0", +] + +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser 0.10.0", + "serde", ] [[package]] @@ -7555,6 +7613,16 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" +[[package]] +name = "semver-parser" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e012c6c5380fb91897ba7b9261a0f565e624e869d42fe1a1d03fa0d68a083d5" +dependencies = [ + "pest", + "pest_derive", +] + [[package]] name = "send_wrapper" version = "0.3.0" @@ -8711,10 +8779,20 @@ dependencies = [ ] [[package]] -name = "substrate-wasm-builder-runner" -version = "2.0.0" +name = "substrate-wasm-builder" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54cab12167e32b38a62c5ea5825aa0874cde315f907a46aad2b05aa8ef3d862f" +checksum = "79091baab813855ddf65b191de9fe53e656b6b67c1e9bd23fdcbff8788164684" +dependencies = [ + "ansi_term 0.12.1", + "atty", + "build-helper", + "cargo_metadata", + "tempfile", + "toml", + "walkdir", + "wasm-gc-api", +] [[package]] name = "subtle" @@ -8817,7 +8895,7 @@ dependencies = [ "polkadot-parachain", "sp-io", "sp-std", - "substrate-wasm-builder-runner", + "substrate-wasm-builder", "tiny-keccak", ] @@ -8851,7 +8929,7 @@ dependencies = [ name = "test-parachain-halt" version = "0.8.26" dependencies = [ - "substrate-wasm-builder-runner", + "substrate-wasm-builder", ] [[package]] @@ -9577,6 +9655,17 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9571542c2ce85ce642e6b58b3364da2fb53526360dfb7c211add4f5c23105ff7" +[[package]] +name = "walkdir" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d" +dependencies = [ + "same-file", + "winapi 0.3.9", + "winapi-util", +] + [[package]] name = "want" version = "0.2.0" @@ -9672,6 +9761,17 @@ version = "0.2.68" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d649a3145108d7d3fbcde896a468d1bd636791823c9921135218ad89be08307" +[[package]] +name = "wasm-gc-api" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0c32691b6c7e6c14e7f8fd55361a9088b507aa49620fcd06c09b3a1082186b9" +dependencies = [ + "log", + "parity-wasm 0.32.0", + "rustc-demangle", +] + [[package]] name = "wasm-timer" version = "0.2.5" @@ -9697,7 +9797,7 @@ dependencies = [ "memory_units", "num-rational", "num-traits 0.2.12", - "parity-wasm", + "parity-wasm 0.41.0", "wasmi-validation", ] @@ -9707,7 +9807,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea78c597064ba73596099281e2f4cfc019075122a65cdda3205af94f0b264d93" dependencies = [ - "parity-wasm", + "parity-wasm 0.41.0", ] [[package]] @@ -10005,7 +10105,7 @@ dependencies = [ "sp-trie", "sp-version", "static_assertions", - "substrate-wasm-builder-runner", + "substrate-wasm-builder", "tiny-keccak", ] diff --git a/polkadot/parachain/test-parachains/adder/Cargo.toml b/polkadot/parachain/test-parachains/adder/Cargo.toml index 4b22425bea..1a8b36d58e 100644 --- a/polkadot/parachain/test-parachains/adder/Cargo.toml +++ b/polkadot/parachain/test-parachains/adder/Cargo.toml @@ -17,7 +17,7 @@ dlmalloc = { version = "0.2.1", features = [ "global" ] } sp-io = { git = "https://github.com/paritytech/substrate", branch = "master", default-features = false, features = [ "disable_allocator" ] } [build-dependencies] -wasm-builder-runner = { package = "substrate-wasm-builder-runner", version = "2.0.0" } +substrate-wasm-builder = "3.0.0" [features] default = [ "std" ] diff --git a/polkadot/parachain/test-parachains/adder/build.rs b/polkadot/parachain/test-parachains/adder/build.rs index 6ed2a43655..ac1ce327cf 100644 --- a/polkadot/parachain/test-parachains/adder/build.rs +++ b/polkadot/parachain/test-parachains/adder/build.rs @@ -14,12 +14,11 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -use wasm_builder_runner::WasmBuilder; +use substrate_wasm_builder::WasmBuilder; fn main() { WasmBuilder::new() .with_current_project() - .with_wasm_builder_from_crates("2.0.1") .export_heap_base() .build() } diff --git a/polkadot/parachain/test-parachains/halt/Cargo.toml b/polkadot/parachain/test-parachains/halt/Cargo.toml index f91e1d66a5..a8912fc948 100644 --- a/polkadot/parachain/test-parachains/halt/Cargo.toml +++ b/polkadot/parachain/test-parachains/halt/Cargo.toml @@ -9,7 +9,7 @@ build = "build.rs" [dependencies] [build-dependencies] -wasm-builder-runner = { package = "substrate-wasm-builder-runner", version = "2.0.0" } +substrate-wasm-builder = "3.0.0" [features] default = [ "std" ] diff --git a/polkadot/parachain/test-parachains/halt/build.rs b/polkadot/parachain/test-parachains/halt/build.rs index 6ed2a43655..ac1ce327cf 100644 --- a/polkadot/parachain/test-parachains/halt/build.rs +++ b/polkadot/parachain/test-parachains/halt/build.rs @@ -14,12 +14,11 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -use wasm_builder_runner::WasmBuilder; +use substrate_wasm_builder::WasmBuilder; fn main() { WasmBuilder::new() .with_current_project() - .with_wasm_builder_from_crates("2.0.1") .export_heap_base() .build() } diff --git a/polkadot/runtime/kusama/Cargo.toml b/polkadot/runtime/kusama/Cargo.toml index 3d89cdbc87..17ccfca080 100644 --- a/polkadot/runtime/kusama/Cargo.toml +++ b/polkadot/runtime/kusama/Cargo.toml @@ -83,7 +83,7 @@ separator = "0.4.1" serde_json = "1.0.59" [build-dependencies] -wasm-builder-runner = { package = "substrate-wasm-builder-runner", version = "2.0.0" } +substrate-wasm-builder = "3.0.0" [features] default = ["std"] diff --git a/polkadot/runtime/kusama/build.rs b/polkadot/runtime/kusama/build.rs index e0c89e5649..a75ebb4edb 100644 --- a/polkadot/runtime/kusama/build.rs +++ b/polkadot/runtime/kusama/build.rs @@ -14,12 +14,11 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -use wasm_builder_runner::WasmBuilder; +use substrate_wasm_builder::WasmBuilder; fn main() { WasmBuilder::new() .with_current_project() - .with_wasm_builder_from_crates("2.0.1") .import_memory() .export_heap_base() .build() diff --git a/polkadot/runtime/polkadot/Cargo.toml b/polkadot/runtime/polkadot/Cargo.toml index d26ad528bf..b6435b3781 100644 --- a/polkadot/runtime/polkadot/Cargo.toml +++ b/polkadot/runtime/polkadot/Cargo.toml @@ -81,7 +81,7 @@ trie-db = "0.22.1" serde_json = "1.0.59" [build-dependencies] -wasm-builder-runner = { package = "substrate-wasm-builder-runner", version = "2.0.0" } +substrate-wasm-builder = "3.0.0" [features] default = ["std"] diff --git a/polkadot/runtime/polkadot/build.rs b/polkadot/runtime/polkadot/build.rs index 8c7a1e35dd..e4a139a06a 100644 --- a/polkadot/runtime/polkadot/build.rs +++ b/polkadot/runtime/polkadot/build.rs @@ -14,12 +14,11 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -use wasm_builder_runner::WasmBuilder; +use substrate_wasm_builder::WasmBuilder; fn main() { WasmBuilder::new() .with_current_project() - .with_wasm_builder_from_crates("2.0.1") .import_memory() .export_heap_base() .build() diff --git a/polkadot/runtime/rococo/Cargo.toml b/polkadot/runtime/rococo/Cargo.toml index 309608c641..c1f72cf24b 100644 --- a/polkadot/runtime/rococo/Cargo.toml +++ b/polkadot/runtime/rococo/Cargo.toml @@ -54,7 +54,7 @@ polkadot-parachain = { path = "../../parachain", default-features = false } runtime-parachains = { package = "polkadot-runtime-parachains", path = "../parachains", default-features = false } [build-dependencies] -wasm-builder-runner = { package = "substrate-wasm-builder-runner", version = "2.0.0" } +substrate-wasm-builder = "3.0.0" [features] default = ["std"] diff --git a/polkadot/runtime/rococo/build.rs b/polkadot/runtime/rococo/build.rs index dff1419829..f287ec0e1e 100644 --- a/polkadot/runtime/rococo/build.rs +++ b/polkadot/runtime/rococo/build.rs @@ -14,12 +14,11 @@ // You should have received a copy of the GNU General Public License // along with Substrate. If not, see . -use wasm_builder_runner::WasmBuilder; +use substrate_wasm_builder::WasmBuilder; fn main() { WasmBuilder::new() .with_current_project() - .with_wasm_builder_from_crates("2.0.0") .import_memory() .export_heap_base() .build() diff --git a/polkadot/runtime/test-runtime/Cargo.toml b/polkadot/runtime/test-runtime/Cargo.toml index 9f23f5d400..af1a8cf347 100644 --- a/polkadot/runtime/test-runtime/Cargo.toml +++ b/polkadot/runtime/test-runtime/Cargo.toml @@ -65,7 +65,7 @@ sp-trie = { git = "https://github.com/paritytech/substrate", branch = "master" } serde_json = "1.0.59" [build-dependencies] -wasm-builder-runner = { package = "substrate-wasm-builder-runner", version = "2.0.0" } +substrate-wasm-builder = "3.0.0" [features] default = ["std"] diff --git a/polkadot/runtime/test-runtime/build.rs b/polkadot/runtime/test-runtime/build.rs index e0c89e5649..a75ebb4edb 100644 --- a/polkadot/runtime/test-runtime/build.rs +++ b/polkadot/runtime/test-runtime/build.rs @@ -14,12 +14,11 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -use wasm_builder_runner::WasmBuilder; +use substrate_wasm_builder::WasmBuilder; fn main() { WasmBuilder::new() .with_current_project() - .with_wasm_builder_from_crates("2.0.1") .import_memory() .export_heap_base() .build() diff --git a/polkadot/runtime/westend/Cargo.toml b/polkadot/runtime/westend/Cargo.toml index 7544eecc99..c8ff4e43e4 100644 --- a/polkadot/runtime/westend/Cargo.toml +++ b/polkadot/runtime/westend/Cargo.toml @@ -84,7 +84,7 @@ sp-trie = { git = "https://github.com/paritytech/substrate", branch = "master" } serde_json = "1.0.59" [build-dependencies] -wasm-builder-runner = { package = "substrate-wasm-builder-runner", version = "2.0.0" } +substrate-wasm-builder = "3.0.0" [features] default = ["std"] diff --git a/polkadot/runtime/westend/build.rs b/polkadot/runtime/westend/build.rs index 8c7a1e35dd..e4a139a06a 100644 --- a/polkadot/runtime/westend/build.rs +++ b/polkadot/runtime/westend/build.rs @@ -14,12 +14,11 @@ // You should have received a copy of the GNU General Public License // along with Polkadot. If not, see . -use wasm_builder_runner::WasmBuilder; +use substrate_wasm_builder::WasmBuilder; fn main() { WasmBuilder::new() .with_current_project() - .with_wasm_builder_from_crates("2.0.1") .import_memory() .export_heap_base() .build() diff --git a/polkadot/scripts/gitlab/test_deterministic_wasm.sh b/polkadot/scripts/gitlab/test_deterministic_wasm.sh index db391ca0a2..998d924d45 100755 --- a/polkadot/scripts/gitlab/test_deterministic_wasm.sh +++ b/polkadot/scripts/gitlab/test_deterministic_wasm.sh @@ -6,7 +6,7 @@ source "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )/lib.sh # build runtime WASM_BUILD_NO_COLOR=1 cargo build --verbose --release -p kusama-runtime -p polkadot-runtime -p westend-runtime # make checksum -sha256sum target/release/wbuild/target/wasm32-unknown-unknown/release/*.wasm > checksum.sha256 +sha256sum target/release/wbuild/*-runtime/target/wasm32-unknown-unknown/release/*.wasm > checksum.sha256 # clean up - FIXME: can we reuse some of the artifacts? cargo clean # build again