-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat: add ElectionsConfig in Genesis * feat: add pallet_elections_phragmen to the bechmark CLI * fmt * feat: refactor the justfile * feat: align the flags with the sdk * feat: use the production chain * chore: fix toml metadata * feat: give to the endowed accounts enough balance * feat: add all the pallets in the define_benchmarks! macro * chore: update doc
- Loading branch information
Showing
7 changed files
with
92 additions
and
93 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,100 +1,59 @@ | ||
# Help information | ||
default: | ||
@just --list | ||
|
||
# Build everything | ||
build-all: | ||
cargo build --release | ||
|
||
# Build the "Base" Runtime | ||
build-base-runtime: | ||
cargo build --release -p polimec-base-runtime | ||
|
||
# Build the "Testnet" Runtime | ||
build-parachain-runtime: | ||
cargo build --release -p polimec-parachain-runtime | ||
|
||
# Build the "Parachain" Node | ||
build-parachain-node: | ||
cargo build --release -p polimec-parachain-node | ||
@just --list | ||
|
||
# Build the "Base" Runtime using srtool | ||
build-base-srtool: | ||
srtool build --root -p polimec-base-runtime --runtime-dir runtimes/base --build-opts="--features=on-chain-release-build" | ||
srtool build --root -p polimec-base-runtime --runtime-dir runtimes/base --build-opts="--features=on-chain-release-build" | ||
|
||
# Build the "Testnet" Runtime using srtool | ||
build-parachain-srtool: | ||
srtool build --root -p polimec-parachain-runtime --runtime-dir runtimes/testnet | ||
|
||
# Test the runtimes features | ||
test-runtime-features: | ||
cargo test --features runtime-benchmarks -p polimec-parachain-runtime | ||
cargo test --features runtime-benchmarks -p polimec-parachain-runtime | ||
|
||
# Run the integration tests | ||
test-integration: | ||
cargo test -p integration-tests | ||
|
||
|
||
# Benchmark the "Testnet" Runtime | ||
benchmark-runtime-funding: | ||
cargo run --features runtime-benchmarks --release -p polimec-parachain-node benchmark pallet \ | ||
--chain=polimec-rococo-local \ | ||
--steps=50 \ | ||
--repeat=20 \ | ||
--pallet=pallet_funding \ | ||
--extrinsic '*' \ | ||
--wasm-execution=compiled \ | ||
--heap-pages=4096 \ | ||
--output=runtimes/testnet/src/weights/pallet_funding.rs | ||
|
||
|
||
# Benchmark the "Testnet" Runtime | ||
benchmark-runtime-linear-release: | ||
cargo run --features runtime-benchmarks --release -p polimec-parachain-node benchmark pallet \ | ||
--chain=polimec-rococo-local \ | ||
--steps=50 \ | ||
--repeat=20 \ | ||
--pallet=pallet_linear_release \ | ||
--extrinsic '*' \ | ||
--wasm-execution=compiled \ | ||
--heap-pages=4096 \ | ||
--output=runtimes/testnet/src/weights/pallet_linear_release.rs | ||
|
||
# Benchmark the "Testnet" Runtime | ||
benchmark-pallet-funding: | ||
cargo run --features runtime-benchmarks,fast-mode --release -p polimec-parachain-node benchmark pallet \ | ||
--chain=polimec-rococo-local \ | ||
--steps=50 \ | ||
--repeat=20 \ | ||
--pallet=pallet_funding \ | ||
--extrinsic '*' \ | ||
--heap-pages=4096 \ | ||
--output=pallets/funding/src/weights-test.rs \ | ||
--template=./.maintain/frame-weight-template.hbs | ||
|
||
benchmark-pallet-linear-release: | ||
cargo run --features runtime-benchmarks,fast-mode --release -p polimec-parachain-node benchmark pallet \ | ||
--chain=polimec-rococo-local \ | ||
--steps=50 \ | ||
--repeat=20 \ | ||
--pallet=pallet_linear_release \ | ||
--extrinsic '*' \ | ||
--heap-pages=4096 \ | ||
--output=pallets/linear-release/src/weights.rs \ | ||
--template=./.maintain/frame-weight-template.hbs | ||
|
||
benchmarks-test: | ||
cargo test --features runtime-benchmarks -p pallet-funding benchmarks | ||
|
||
cargo test -p integration-tests | ||
|
||
# src: https://github.com/polkadot-fellows/runtimes/blob/48ccfae6141d2924f579d81e8b1877efd208693f/system-parachains/asset-hubs/asset-hub-polkadot/src/weights/cumulus_pallet_xcmp_queue.rs | ||
# Benchmark a specific pallet on the "Base" Runtime | ||
benchmark-runtime pallet="pallet-elections-phragmen" features="runtime-benchmarks": | ||
cargo run --features {{ features }} --release -p polimec-parachain-node benchmark pallet \ | ||
--chain=base-polkadot \ | ||
--steps=50 \ | ||
--repeat=20 \ | ||
--pallet={{ pallet }} \ | ||
--extrinsic=* \ | ||
--wasm-execution=compiled \ | ||
--heap-pages=4096 \ | ||
--output=runtimes/base/src/weights/{{ replace(pallet, "-", "_") }}.rs | ||
|
||
# src: https://github.com/paritytech/polkadot-sdk/blob/bc2e5e1fe26e2c2c8ee766ff9fe7be7e212a0c62/substrate/frame/nfts/src/weights.rs | ||
# Run the Runtime benchmarks for a specific pallet | ||
benchmark-pallet pallet="pallet-elections-phragmen" features="runtime-benchmarks": | ||
cargo run --features {{ features }} --release -p polimec-parachain-node benchmark pallet \ | ||
--chain=base-polkadot \ | ||
--steps=50 \ | ||
--repeat=20 \ | ||
--pallet={{ pallet }} \ | ||
--no-storage-info \ | ||
--no-median-slopes \ | ||
--no-min-squares \ | ||
--extrinsic '*' \ | ||
--wasm-execution=compiled \ | ||
--heap-pages=4096 \ | ||
--output=pallets/{{ replace(pallet, "pallet-", "") }}/src/weights.rs \ | ||
--template=./.maintain/frame-weight-template.hbs | ||
|
||
# Build the Node Docker Image | ||
docker-build tag = "latest" package= "polimec-parachain-node": | ||
./scripts/build_image.sh {{tag}} ./Dockerfile {{package}} | ||
docker-build tag="latest" package="polimec-parachain-node": | ||
./scripts/build_image.sh {{ tag }} ./Dockerfile {{ package }} | ||
|
||
# Create the "Base" Runtime Chainspec | ||
create-chainspec-base: | ||
./scripts/create_base_chain_spec.sh ./runtimes/base/target/srtool/release/wbuild/polimec-base-runtime/polimec_base_runtime.compact.compressed.wasm 2105 | ||
./scripts/create_base_chain_spec.sh ./runtimes/base/target/srtool/release/wbuild/polimec-base-runtime/polimec_base_runtime.compact.compressed.wasm 2105 | ||
|
||
# Use zombienet to spawn rococo + polimec testnet | ||
zombienet path_to_file = "scripts/zombienet/native/base-rococo-local.toml": | ||
zombienet spawn {{path_to_file}} | ||
zombienet path_to_file="scripts/zombienet/native/base-rococo-local.toml": | ||
zombienet spawn {{ path_to_file }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters