diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 24f4df8b84f..9063c80527d 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -7,7 +7,7 @@ on: - main jobs: - benchmark: + benchmark: name: Benchmark runs-on: - self-hosted @@ -24,18 +24,21 @@ jobs: - uses: actions/checkout@v2 with: - ref: main + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} - name: Check for runtime changes env: BASE_BRANCH: ${{ github.event.pull_request.base.ref }} + id: check_runtime if: github.event.label.name == 'needs-benchmarks' run: .maintain/check_runtime.sh - + - name: Benchmark Test env: BASE_BRANCH: ${{ github.event.pull_request.base.ref }} + if: env.RUNTIME_CHECK == 1 id: run_benchmarks run: .maintain/run_benchmarks.sh diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 2d821850d75..b3413e6a9b7 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -63,7 +63,7 @@ jobs: # TODO: https://github.com/ComposableFi/composable/issues/535 /home/runner/.cargo/bin/cargo install -f cargo-llvm-cov /home/runner/.cargo/bin/rustup component add llvm-tools-preview --toolchain=nightly-2021-11-08 - SKIP_WASM_BUILD=1 /home/runner/.cargo/bin/cargo +nightly-2021-11-08 llvm-cov --workspace --locked --release --verbose --features=runtime-benchmarks --exclude=integration-tests --lcov --output-path lcov.info + SKIP_WASM_BUILD=1 /home/runner/.cargo/bin/cargo +nightly-2021-11-08 llvm-cov --workspace --locked --release --verbose --features=runtime-benchmarks --lcov --output-path lcov.info - name: Upload coverage to Codecov uses: codecov/codecov-action@v1 with: @@ -93,7 +93,7 @@ jobs: - uses: actions/checkout@v2 - name: Run Test run: | - SKIP_WASM_BUILD=1 cargo test --workspace --locked --release --verbose --features=runtime-benchmarks --exclude=integration-tests + SKIP_WASM_BUILD=1 cargo test --workspace --locked --release --verbose --features=runtime-benchmarks linters: name: Linters diff --git a/.github/workflows/devnet-release.yml b/.github/workflows/devnet-release.yml index d0a444cc788..ae4ae5b43a6 100644 --- a/.github/workflows/devnet-release.yml +++ b/.github/workflows/devnet-release.yml @@ -13,76 +13,74 @@ jobs: group: deploy-devnet cancel-in-progress: false steps: - - name: Clean up - continue-on-error: true - run: | - sudo chown -R $USER:$USER $GITHUB_WORKSPACE - docker system prune --force --all --volumes - - - - uses: actions/checkout@v2 - - - uses: google-github-actions/setup-gcloud@master - with: - service_account_key: ${{ secrets.GCP_CREDENTIALS }} - export_default_credentials: true - - - uses: actions/setup-python@v2 - - - uses: cachix/install-nix-action@v16 - with: - nix_path: nixpkgs=channel:nixos-unstable - - - uses: cachix/cachix-action@v10 - with: - name: composable-community - authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - extraPullNames: composable-community - - - name: Set env - run: | - echo "RELEASE_VERSION=$GITHUB_SHA" >> $GITHUB_ENV - - - name: Push artifact - run: | - /home/runner/.cargo/bin/cargo build --release - tar -czvf composable-picasso-${{ env.RELEASE_VERSION }}.tar.gz target/release/composable - gsutil mv *.tar.gz gs://composable-binaries/community-releases/picasso/ - - - name: Load state - run: | - cd nix - - echo $(cat devnet.json | jq --arg version "${{ env.RELEASE_VERSION }}" '.composable.version = $version' | jq --arg hash "$(nix-prefetch-url https://storage.googleapis.com/composable-binaries/community-releases/picasso/composable-picasso-${{ env.RELEASE_VERSION }}.tar.gz)" '.composable.hash = $hash') > devnet.json - - jq --null-input --arg client_email "$GCP_DEVNET_SERVICE_ACCOUNT" --arg project_id "$GCP_PROJECT_ID" --arg key "\"$GCP_DEVNET_SERVICE_ACCOUNT_KEY\"" '{ "project_id": $project_id, "private_key": ($key | fromjson), "client_email": $client_email }' > ops.json - - if gsutil -q stat $NIXOPS_STATE_URL/$NIXOPS_STATE; - then - gsutil cp $NIXOPS_STATE_URL/$NIXOPS_STATE $NIXOPS_STATE - else - nix develop .#deploy --impure --command nixops create -d devnet-gce - fi - env: - NIXOPS_STATE_URL: "gs://composable-state" - NIXOPS_STATE: "deployment.nixops" - GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }} - GCP_DEVNET_SERVICE_ACCOUNT: ${{ secrets.GCP_DEVNET_SERVICE_ACCOUNT }} - GCP_DEVNET_SERVICE_ACCOUNT_KEY: ${{ secrets.GCP_DEVNET_SERVICE_ACCOUNT_KEY }} - - - name: Deploy - run: | - cd nix - nix develop .#deploy --impure --command nixops deploy --check --confirm -d devnet-gce - env: - NIXOPS_STATE: "deployment.nixops" - - - name: Store state - if: always() - run: | - cd nix - gsutil cp $NIXOPS_STATE $NIXOPS_STATE_URL/ - env: - NIXOPS_STATE: "deployment.nixops" - NIXOPS_STATE_URL: "gs://composable-state" - + - name: Clean up + continue-on-error: true + run: | + sudo chown -R $USER:$USER $GITHUB_WORKSPACE + docker system prune --force --all --volumes + + - uses: actions/checkout@v2 + + - uses: google-github-actions/setup-gcloud@master + with: + service_account_key: ${{ secrets.GCP_CREDENTIALS }} + export_default_credentials: true + + - uses: actions/setup-python@v2 + + - uses: cachix/install-nix-action@v16 + with: + nix_path: nixpkgs=channel:nixos-unstable + + - uses: cachix/cachix-action@v10 + with: + name: composable-community + authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" + extraPullNames: composable-community + + - name: Set env + run: | + echo "RELEASE_VERSION=$GITHUB_REF_NAME" >> $GITHUB_ENV + + - name: Push artifact + run: | + /home/runner/.cargo/bin/cargo build --release + tar -czvf composable-picasso-${{ env.RELEASE_VERSION }}.tar.gz target/release/composable + gsutil mv *.tar.gz gs://composable-binaries/community-releases/picasso/ + + - name: Load state + run: | + cd nix + + echo $(cat devnet.json | jq --arg version "${{ env.RELEASE_VERSION }}" '.composable.version = $version' | jq --arg hash "$(nix-prefetch-url https://storage.googleapis.com/composable-binaries/community-releases/picasso/composable-picasso-${{ env.RELEASE_VERSION }}.tar.gz)" '.composable.hash = $hash') > devnet.json + + jq --null-input --arg client_email "$GCP_DEVNET_SERVICE_ACCOUNT" --arg project_id "$GCP_PROJECT_ID" --arg key "\"$GCP_DEVNET_SERVICE_ACCOUNT_KEY\"" '{ "project_id": $project_id, "private_key": ($key | fromjson), "client_email": $client_email }' > ops.json + + if gsutil -q stat $NIXOPS_STATE_URL/$NIXOPS_STATE; + then + gsutil cp $NIXOPS_STATE_URL/$NIXOPS_STATE $NIXOPS_STATE + else + nix develop .#deploy --impure --command nixops create -d devnet-gce + fi + env: + NIXOPS_STATE_URL: "gs://composable-state" + NIXOPS_STATE: "deployment.nixops" + GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }} + GCP_DEVNET_SERVICE_ACCOUNT: ${{ secrets.GCP_DEVNET_SERVICE_ACCOUNT }} + GCP_DEVNET_SERVICE_ACCOUNT_KEY: ${{ secrets.GCP_DEVNET_SERVICE_ACCOUNT_KEY }} + + - name: Deploy + run: | + cd nix + nix develop .#deploy --impure --command nixops deploy --check --confirm -d devnet-gce + env: + NIXOPS_STATE: "deployment.nixops" + + - name: Store state + if: always() + run: | + cd nix + gsutil cp $NIXOPS_STATE $NIXOPS_STATE_URL/ + env: + NIXOPS_STATE: "deployment.nixops" + NIXOPS_STATE_URL: "gs://composable-state" diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml deleted file mode 100644 index c99521a2cfa..00000000000 --- a/.github/workflows/release-drafter.yml +++ /dev/null @@ -1,102 +0,0 @@ -name: Release Drafter -on: - push: - branches: - - releases -jobs: - build-and-publish: - runs-on: - - self-hosted - - linux - - x64 - - sre - strategy: - fail-fast: true - steps: - - name: Clean up - continue-on-error: true - run: | - sudo chown -R $USER:$USER $GITHUB_WORKSPACE - docker system prune --force --all --volumes - - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - - - name: Install srtool - run: | - cargo install --git https://github.com/chevdor/srtool-cli - cargo install --locked --git https://github.com/chevdor/subwasm --tag v0.16.1 - - - name: Runtime wasm builds - id: runtime_release - run: | - .maintain/runtime_release.sh - - - uses: release-drafter/release-drafter@v5 - id: release_drafter - - - name: Set Permission - continue-on-error: true - run: | - sudo su runner - - - uses: actions/setup-node@v2 - with: - node-version: '16' - - - name: Add runtime metadata to release body - run: | - cd scripts/github && npm install - printf "\n%s" "${{ steps.release_drafter.outputs.body }}" >> $GITHUB_WORKSPACE/release.md - npm run update-release-body -- --id=${{ steps.release_drafter.outputs.id }} --repo=composableFi/composable --body="$GITHUB_WORKSPACE/release.md" - cd $GITHUB_WORKSPACE - - - name: Upload Dali wasm - id: upload-dali-wasm - if: env.dali_wasm == 1 - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ steps.release_drafter.outputs.upload_url }} - asset_path: ./runtime/dali/target/srtool/release/wbuild/dali-runtime/dali_runtime.compact.wasm - asset_name: dali_runtime.compact.wasm - asset_content_type: application/octet-stream - - - name: Upload Picasso wasm - id: upload-picasso-wasm - if: env.picasso_wasm == 1 - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ steps.release_drafter.outputs.upload_url }} - asset_path: ./runtime/picasso/target/srtool/release/wbuild/picasso-runtime/picasso_runtime.compact.wasm - asset_name: picasso_runtime.compact.wasm - asset_content_type: application/octet-stream - - - name: Upload Composable wasm - id: upload-composable-wasm - if: env.composable_wasm == 1 - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ steps.release_drafter.outputs.upload_url }} - asset_path: ./runtime/composable/target/srtool/release/wbuild/composable-runtime/composable_runtime.compact.wasm - asset_name: composable_runtime.compact.wasm - asset_content_type: application/octet-stream - - - name: 🔨 Build Composable Binary - run: | - .maintain/client_release.sh - - - name: Upload Composable Node Binaries - id: upload-composable-binary - if: env.client_release == 1 - uses: actions/upload-release-asset@v1 - - with: - upload_url: ${{ steps.release_drafter.outputs.upload_url }} - asset_path: ./target/release/composable - asset_name: composable - asset_content_type: application/octet-stream diff --git a/.github/workflows/release-pipeline.yml b/.github/workflows/release-pipeline.yml new file mode 100644 index 00000000000..0880763e3d3 --- /dev/null +++ b/.github/workflows/release-pipeline.yml @@ -0,0 +1,106 @@ +name: Release Pipeline +on: + push: + branches: + - releases +jobs: + build-and-publish: + runs-on: + - self-hosted + - linux + - x64 + - sre + strategy: + fail-fast: true + steps: + - name: Clean up + continue-on-error: true + run: | + sudo chown -R $USER:$USER $GITHUB_WORKSPACE + docker system prune --force --all --volumes + + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + + - name: Install srtool + run: | + cargo install --git https://github.com/chevdor/srtool-cli + cargo install --locked --git https://github.com/chevdor/subwasm --tag v0.16.1 + + - name: Runtime wasm builds + id: runtime_release + env: + + run: | + .maintain/runtime_release.sh + + - uses: release-drafter/release-drafter@v5 + id: release_drafter + + - name: Set Permission + continue-on-error: true + run: | + sudo su runner + + - uses: actions/setup-node@v2 + with: + node-version: "16" + + - name: Add runtime metadata to release body + run: | + cd scripts/github && npm install + printf "\n%s" "${{ steps.release_drafter.outputs.body }}" >> $GITHUB_WORKSPACE/release.md + npm run update-release-body -- --id=${{ steps.release_drafter.outputs.id }} --repo=composableFi/composable --body="$GITHUB_WORKSPACE/release.md" + cd $GITHUB_WORKSPACE + + - name: Upload Dali wasm + id: upload-dali-wasm + if: env.dali_wasm == 1 + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ steps.release_drafter.outputs.upload_url }} + asset_path: ./runtime/dali/target/srtool/release/wbuild/dali-runtime/dali_runtime.compact.wasm + asset_name: dali_runtime.compact.wasm + asset_content_type: application/octet-stream + + - name: Upload Picasso wasm + id: upload-picasso-wasm + if: env.picasso_wasm == 1 + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ steps.release_drafter.outputs.upload_url }} + asset_path: ./runtime/picasso/target/srtool/release/wbuild/picasso-runtime/picasso_runtime.compact.wasm + asset_name: picasso_runtime.compact.wasm + asset_content_type: application/octet-stream + + - name: Upload Composable wasm + id: upload-composable-wasm + if: env.composable_wasm == 1 + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ steps.release_drafter.outputs.upload_url }} + asset_path: ./runtime/composable/target/srtool/release/wbuild/composable-runtime/composable_runtime.compact.wasm + asset_name: composable_runtime.compact.wasm + asset_content_type: application/octet-stream + + - name: 🔨 Build Composable Binary + env: + + run: | + .maintain/client_release.sh + + - name: Upload Composable Node Binaries + id: upload-composable-binary + if: env.client_release == 1 + uses: actions/upload-release-asset@v1 + + with: + upload_url: ${{ steps.release_drafter.outputs.upload_url }} + asset_path: ./target/release/composable + asset_name: composable + asset_content_type: application/octet-stream diff --git a/.github/workflows/simnode.yml b/.github/workflows/simnode.yml index 092c209b003..d85e4846bd5 100644 --- a/.github/workflows/simnode.yml +++ b/.github/workflows/simnode.yml @@ -6,7 +6,7 @@ on: - main jobs: simnode: - runs-on: + runs-on: - self-hosted - linux - x64 @@ -18,20 +18,23 @@ jobs: run: | sudo chown -R $USER:$USER $GITHUB_WORKSPACE docker system prune --force --all --volumes - + - uses: actions/checkout@v2 - with: - ref: main + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} - name: Check for runtime changes id: check_runtime env: BASE_BRANCH: ${{ github.event.pull_request.base.ref }} + run: .maintain/check_runtime.sh - name: Run Simnode env: BASE_BRANCH: ${{ github.event.pull_request.base.ref }} + if: env.RUNTIME_CHECK == 1 id: run_simnode run: .maintain/run_simnode.sh diff --git a/.maintain/check_runtime.sh b/.maintain/check_runtime.sh index fbe276cf70b..2b904f3458a 100755 --- a/.maintain/check_runtime.sh +++ b/.maintain/check_runtime.sh @@ -5,7 +5,7 @@ # "auto-fail" the PR if there isn't a change in the runtime/src/lib.rs file # that alters the version. -#set -e # fail on any error +set -e # fail on any error #shellcheck source=../common/lib.sh . "$(dirname "${0}")/./common/lib.sh" @@ -14,18 +14,17 @@ VERSIONS_FILES=( "runtime/picasso/src/lib.rs,picasso,picasso" "runtime/dali/src/lib.rs,dali-chachacha,dali" - "runtime/composable/src/lib.rs,composable,composable" + "runtime/composable/src/lib.rs,composable,composable" ) - echo "make sure the main branch and release tag are available in shallow clones" - git fetch --depth="${GIT_DEPTH:-100}" origin "${BASE_BRANCH}" +echo "make sure the main branch and release tag are available in shallow clones" +git fetch --depth="${GIT_DEPTH:-100}" origin "${BASE_BRANCH}" simnode_check() { VERSIONS_FILE="$1" - if has_runtime_changes "${BASE_BRANCH}" "${GITHUB_REF_NAME}" "$2" && check_runtime "$VERSIONS_FILE" "$2" - then + if has_runtime_changes "${BASE_BRANCH}" "${GITHUB_REF_NAME}" "$2" && check_runtime "$VERSIONS_FILE" "$2"; then echo "Wasm sources have changed for $3" - echo "RUNTIME_CHECK=1" >> $GITHUB_ENV + echo "RUNTIME_CHECK=1" >>$GITHUB_ENV fi } @@ -33,7 +32,7 @@ for i in "${VERSIONS_FILES[@]}"; do while IFS=',' read -r output chain folder; do boldprint "Check if the wasm sources changed for $chain" simnode_check $output $folder $chain - done <<< "$i" + done <<<"$i" done # dropped through. there's something wrong; exit 1. diff --git a/.maintain/client_release.sh b/.maintain/client_release.sh index 85861f04fce..74e21e822d3 100755 --- a/.maintain/client_release.sh +++ b/.maintain/client_release.sh @@ -10,14 +10,12 @@ #shellcheck source=../common/lib.sh . "$(dirname "${0}")/./common/lib.sh" -RELEASE_VERSION=$(git tag --sort=committerdate | grep -E '^v[0-9]' | tail -1 ) +RELEASE_VERSION=$(git tag --sort=committerdate | grep -E '^v[0-9]' | tail -1) # Because this script runs when a tag has been published, the previous tag is the # last two tags PREV_TAG=$(gh release list -L=2 | sed -n '2 p' | awk '{print $(NF-1)}') - -if has_client_changes "${PREV_TAG}" "${GITHUB_REF_NAME}" -then +if has_client_changes "${PREV_TAG}" "${GITHUB_REF_NAME}"; then boldprint "Building new client binaries" cargo build --release -p composable tar -czvf composable-"${RELEASE_VERSION}".tar.gz target/release/composable diff --git a/.maintain/run_benchmarks.sh b/.maintain/run_benchmarks.sh index 9775dd3116d..3fe64f938e2 100755 --- a/.maintain/run_benchmarks.sh +++ b/.maintain/run_benchmarks.sh @@ -17,26 +17,26 @@ steps=50 repeat=20 pallets=( - oracle - frame_system - timestamp - session - balances - indices - membership - treasury - scheduler - collective - democracy - collator_selection - utility - lending - dutch_auction + oracle + frame_system + timestamp + session + balances + indices + membership + treasury + scheduler + collective + democracy + collator_selection + utility + lending + dutch_auction ) /home/runner/.cargo/bin/rustup install nightly -/home/runner/.cargo/bin/rustup target add wasm32-unknown-unknown --toolchain nightly -/home/runner/.cargo/bin/cargo build --release -p composable --features=runtime-benchmarks +/home/runner/.cargo/bin/rustup target add wasm32-unknown-unknown --toolchain nightly +/home/runner/.cargo/bin/cargo build --release -p composable --features=runtime-benchmarks run_benchmarks() { OUTPUT=$1 diff --git a/.maintain/run_simnode.sh b/.maintain/run_simnode.sh index d057b3a6aaa..5d93a55af24 100755 --- a/.maintain/run_simnode.sh +++ b/.maintain/run_simnode.sh @@ -18,7 +18,7 @@ VERSIONS_FILES=( /home/runner/.cargo/bin/rustup target add wasm32-unknown-unknown --toolchain nightly /home/runner/.cargo/bin/cargo build --release -p simnode sudo chown -R runner:runner target/release/simnode && sudo chmod +x target/release/simnode -sudo chown -R runner:runner /tmp/db +sudo chown -R runner:runner /tmp/db YDATE=$(date -d yesterday +'%m-%d-%Y') run_simnode() { diff --git a/.maintain/runtime_release.sh b/.maintain/runtime_release.sh index 6bc358ad033..b082fcf0270 100755 --- a/.maintain/runtime_release.sh +++ b/.maintain/runtime_release.sh @@ -13,8 +13,8 @@ # shellcheck disable=SC2039 VERSIONS_FILES=( "runtime/picasso/src/lib.rs,picasso,picasso" - "runtime/dali/src/lib.rs,dali-chachacha,dali" - "runtime/composable/src/lib.rs,composable,composable" + "runtime/dali/src/lib.rs,dali-chachacha,dali" + "runtime/composable/src/lib.rs,composable,composable" ) # Because this script runs when a tag has been published, the previous tag is the # last two tags @@ -25,26 +25,24 @@ CURRENT_TAG=$(gh release list -L=1 | sed -n '1 p' | awk '{print $(NF-1)}') cargo install --git https://github.com/chevdor/srtool-cli cargo install --locked --git https://github.com/chevdor/subwasm --tag v0.16.1 - -build_runtime () { +build_runtime() { chain=$3 # srtool for reproducible builds srtool build --package "$chain"-runtime --profile release --runtime-dir runtime/"$chain" # subwasm for runtime metadata - echo "# $chain Runtime " >> release.md - subwasm info ./runtime/"$chain"/target/srtool/release/wbuild/"$chain"-runtime/"$chain"_runtime.compact.wasm >> release.md + echo "# $chain Runtime " >>release.md + subwasm info ./runtime/"$chain"/target/srtool/release/wbuild/"$chain"-runtime/"$chain"_runtime.compact.wasm >>release.md } # Check which runtimes have changed and build them for i in "${VERSIONS_FILES[@]}"; do while IFS=',' read -r output chain folder; do echo "check if the wasm sources changed for $chain" - if has_runtime_changes "${PREV_TAG}" "${GITHUB_REF_NAME}" "$folder" - then + if has_runtime_changes "${PREV_TAG}" "${GITHUB_REF_NAME}" "$folder"; then build_runtime $output $chain $folder CHANGES=gh view release tag $CURRENT_TAG - echo $CHANGES | sed '1,/--/ d' >> release.md - echo "$chain-wasm=1" >> "$GITHUB_ENV" + echo $CHANGES | sed '1,/--/ d' >>release.md + echo "$chain-wasm=1" >>"$GITHUB_ENV" fi - done <<< "$i" + done <<<"$i" done diff --git a/Cargo.lock b/Cargo.lock index 565f0614909..fa28974e717 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7611,6 +7611,23 @@ dependencies = [ "xcm-executor", ] +[[package]] +name = "pallet-xcm-benchmarks" +version = "0.9.8" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.13#7d8f00b90cd6d87780123b3e08ca120cfb0c6e50" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log 0.4.14", + "parity-scale-codec", + "scale-info", + "sp-runtime", + "sp-std", + "xcm", + "xcm-executor", +] + [[package]] name = "parachain-info" version = "0.1.0" @@ -8944,12 +8961,15 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.13#7d8f dependencies = [ "beefy-primitives", "bitvec", + "frame-benchmarking", "frame-election-provider-support", "frame-executive", "frame-support", "frame-system", + "frame-system-benchmarking", "frame-system-rpc-runtime-api", "frame-try-runtime", + "hex-literal", "log 0.4.14", "pallet-authority-discovery", "pallet-authorship", @@ -8970,9 +8990,11 @@ dependencies = [ "pallet-multisig", "pallet-nicks", "pallet-offences", + "pallet-offences-benchmarking", "pallet-proxy", "pallet-scheduler", "pallet-session", + "pallet-session-benchmarking", "pallet-staking", "pallet-staking-reward-curve", "pallet-timestamp", @@ -9112,6 +9134,7 @@ dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.19", "hex-literal", + "kusama-runtime", "kvdb", "kvdb-rocksdb", "lru 0.7.2", @@ -9196,6 +9219,7 @@ dependencies = [ "substrate-prometheus-endpoint", "thiserror", "tracing", + "westend-runtime", ] [[package]] @@ -10072,10 +10096,12 @@ dependencies = [ "bp-runtime", "bp-wococo", "bridge-runtime-common", + "frame-benchmarking", "frame-executive", "frame-support", "frame-system", "frame-system-rpc-runtime-api", + "hex-literal", "log 0.4.14", "pallet-authority-discovery", "pallet-authorship", @@ -13463,7 +13489,7 @@ dependencies = [ "chrono", "lazy_static", "matchers", - "parking_lot 0.11.2", + "parking_lot 0.9.0", "regex", "serde", "serde_json", @@ -13643,8 +13669,8 @@ version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ee73e6e4924fe940354b8d4d98cad5231175d615cd855b758adc658c0aac6a0" dependencies = [ - "cfg-if 1.0.0", - "rand 0.8.4", + "cfg-if 0.1.10", + "rand 0.6.5", "static_assertions", ] @@ -14315,6 +14341,90 @@ dependencies = [ "cc", ] +[[package]] +name = "westend-runtime" +version = "0.9.13" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.13#7d8f00b90cd6d87780123b3e08ca120cfb0c6e50" +dependencies = [ + "beefy-primitives", + "bitvec", + "frame-benchmarking", + "frame-election-provider-support", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-benchmarking", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "hex-literal", + "log 0.4.14", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", + "pallet-bags-list", + "pallet-balances", + "pallet-collective", + "pallet-democracy 4.0.0-dev", + "pallet-election-provider-multi-phase", + "pallet-elections-phragmen", + "pallet-grandpa", + "pallet-identity", + "pallet-im-online", + "pallet-indices", + "pallet-membership", + "pallet-mmr-primitives", + "pallet-multisig", + "pallet-nicks", + "pallet-offences", + "pallet-offences-benchmarking", + "pallet-proxy", + "pallet-recovery", + "pallet-scheduler", + "pallet-session", + "pallet-session-benchmarking", + "pallet-society", + "pallet-staking", + "pallet-staking-reward-curve", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-vesting 4.0.0-dev", + "pallet-xcm", + "pallet-xcm-benchmarks", + "parity-scale-codec", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-runtime-common", + "polkadot-runtime-parachains", + "rustc-hex", + "scale-info", + "serde", + "serde_derive", + "smallvec 1.8.0", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", + "sp-core", + "sp-inherents", + "sp-io", + "sp-npos-elections", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-transaction-pool", + "sp-version", + "substrate-wasm-builder", + "xcm", + "xcm-builder", + "xcm-executor", +] + [[package]] name = "which" version = "4.2.2" @@ -14491,6 +14601,7 @@ name = "xcm-executor" version = "0.9.13" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.13#7d8f00b90cd6d87780123b3e08ca120cfb0c6e50" dependencies = [ + "frame-benchmarking", "frame-support", "impl-trait-for-tuples", "log 0.4.14", diff --git a/integration-tests/Cargo.toml b/integration-tests/Cargo.toml index 1ce356507ab..076c9751a3d 100644 --- a/integration-tests/Cargo.toml +++ b/integration-tests/Cargo.toml @@ -100,11 +100,11 @@ sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0 # added on top of runtime for emulation of network paste = "1.0.5" -polkadot-core-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.13" } +polkadot-core-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.13", default-features = false } xcm-emulator = { git = "https://github.com/dzmitry-lahoda-forks/xcm-simulator", branch = "dz/0.9.13", default-features = false } -kusama-runtime = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.13" } -polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.13" } -polkadot-runtime-parachains = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.13" } +kusama-runtime = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.13", default-features = false } +polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.13", default-features = false } +polkadot-runtime-parachains = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.13", default-features = false } picasso-runtime = { package = "dali-runtime", path = "../runtime/dali", default-features = false } [dev-dependencies] @@ -125,9 +125,9 @@ std = [ "sp-block-builder/std", "sp-transaction-pool/std", "sp-inherents/std", - "support/std", + "support/std", "executive/std", - "frame-system/std", + "frame-system/std", "utility/std", "authorship/std", "balances/std", @@ -163,7 +163,11 @@ std = [ "xcm-executor/std", "aura/std", "sp-consensus-aura/std", - "scale-info/std", + "scale-info/std", + "kusama-runtime/std", + "polkadot-core-primitives/std", + "polkadot-primitives/std", + "polkadot-runtime-parachains/std", ] runtime-benchmarks = [ @@ -189,6 +193,9 @@ runtime-benchmarks = [ "democracy/runtime-benchmarks", "utility/runtime-benchmarks", "kusama-runtime/runtime-benchmarks", + "picasso-runtime/runtime-benchmarks", + "polkadot-primitives/runtime-benchmarks", + "polkadot-runtime-parachains/runtime-benchmarks", ] develop = [ diff --git a/node/Cargo.toml b/node/Cargo.toml index 7ba04523bec..769aa9a1546 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -91,7 +91,7 @@ hex = "0.4.3" [features] default = [] -runtime-benchmarks = ["picasso-runtime/runtime-benchmarks", "composable-runtime/runtime-benchmarks", "dali-runtime/runtime-benchmarks"] +runtime-benchmarks = ["polkadot-service/runtime-benchmarks", "picasso-runtime/runtime-benchmarks", "composable-runtime/runtime-benchmarks", "dali-runtime/runtime-benchmarks"] ocw = [] dali = ["dali-runtime"] composable = ["composable-runtime"] diff --git a/scripts/polkadot-launch/composable.json b/scripts/polkadot-launch/composable.json index c1fdeccb56d..98254046276 100644 --- a/scripts/polkadot-launch/composable.json +++ b/scripts/polkadot-launch/composable.json @@ -26,6 +26,12 @@ "wsPort": 9977, "basePath": "/tmp/polkadot-launch/relaychains/dave", "port": 30777 + }, + { + "name": "ferdie", + "wsPort": 9978, + "basePath": "/tmp/polkadot-launch/relaychains/ferdie", + "port": 30778 } ], "genesis": {