difftreelog
Merge pull request #1069 from UniqueNetwork/fix/ci-polkadot-1.9
in: master
29 files changed
.docker/Dockerfile-acala.j2diffbeforeafterboth--- a/.docker/Dockerfile-acala.j2
+++ b/.docker/Dockerfile-acala.j2
@@ -17,6 +17,7 @@
RUN rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
.docker/Dockerfile-astar.j2diffbeforeafterboth--- a/.docker/Dockerfile-astar.j2
+++ b/.docker/Dockerfile-astar.j2
@@ -17,6 +17,7 @@
RUN rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
.docker/Dockerfile-chain-devdiffbeforeafterboth--- a/.docker/Dockerfile-chain-dev
+++ b/.docker/Dockerfile-chain-dev
@@ -14,6 +14,7 @@
RUN rustup toolchain uninstall $(rustup toolchain list) && \
rustup toolchain install $RUST_TOOLCHAIN && \
rustup default $RUST_TOOLCHAIN && \
+ rustup component add --toolchain $RUST_TOOLCHAIN rust-src && \
rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN
RUN mkdir /dev_chain
.docker/Dockerfile-chain-dev-unitdiffbeforeafterboth--- a/.docker/Dockerfile-chain-dev-unit
+++ b/.docker/Dockerfile-chain-dev-unit
@@ -10,6 +10,7 @@
RUN rustup toolchain uninstall $(rustup toolchain list) && \
rustup toolchain install $RUST_TOOLCHAIN && \
rustup default $RUST_TOOLCHAIN && \
+ rustup component add --toolchain $RUST_TOOLCHAIN rust-src && \
rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN
RUN mkdir /dev_chain
.docker/Dockerfile-collators.j2diffbeforeafterboth--- a/.docker/Dockerfile-collators.j2
+++ b/.docker/Dockerfile-collators.j2
@@ -9,6 +9,7 @@
RUN rustup toolchain uninstall $(rustup toolchain list) && \
rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}
.docker/Dockerfile-cumulus.j2diffbeforeafterboth--- a/.docker/Dockerfile-cumulus.j2
+++ b/.docker/Dockerfile-cumulus.j2
@@ -17,6 +17,7 @@
RUN rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
.docker/Dockerfile-hydradx.j2diffbeforeafterboth--- a/.docker/Dockerfile-hydradx.j2
+++ b/.docker/Dockerfile-hydradx.j2
@@ -17,6 +17,7 @@
RUN rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
.docker/Dockerfile-moonbeam.j2diffbeforeafterboth--- a/.docker/Dockerfile-moonbeam.j2
+++ b/.docker/Dockerfile-moonbeam.j2
@@ -17,6 +17,7 @@
RUN rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
.docker/Dockerfile-parachaindiffbeforeafterboth--- a/.docker/Dockerfile-parachain
+++ b/.docker/Dockerfile-parachain
@@ -12,6 +12,7 @@
RUN rustup toolchain uninstall $(rustup toolchain list) && \
rustup toolchain install $RUST_TOOLCHAIN && \
rustup default $RUST_TOOLCHAIN && \
+ rustup component add --toolchain $RUST_TOOLCHAIN rust-src && \
rustup target list --installed && \
rustup show
RUN rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN
@@ -42,12 +43,12 @@
ARG POLKADOT_LAUNCH_BRANCH=
RUN apt-get -y update && \
- apt-get -y install curl git && \
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \
- export NVM_DIR="$HOME/.nvm" && \
- [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
- nvm install v16.16.0 && \
- nvm use v16.16.0
+ apt-get -y install curl git && \
+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \
+ export NVM_DIR="$HOME/.nvm" && \
+ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+ nvm install v16.16.0 && \
+ nvm use v16.16.0
RUN git clone https://github.com/uniquenetwork/polkadot-launch -b ${POLKADOT_LAUNCH_BRANCH}
.docker/Dockerfile-parachain-upgrade-data.j2diffbeforeafterboth--- a/.docker/Dockerfile-parachain-upgrade-data.j2
+++ b/.docker/Dockerfile-parachain-upgrade-data.j2
@@ -10,6 +10,7 @@
RUN rustup toolchain uninstall $(rustup toolchain list) && \
rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}
.docker/Dockerfile-parachain-upgrade.j2diffbeforeafterboth--- a/.docker/Dockerfile-parachain-upgrade.j2
+++ b/.docker/Dockerfile-parachain-upgrade.j2
@@ -10,6 +10,7 @@
RUN rustup toolchain uninstall $(rustup toolchain list) && \
rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}
.docker/Dockerfile-polkadex.j2diffbeforeafterboth--- a/.docker/Dockerfile-polkadex.j2
+++ b/.docker/Dockerfile-polkadex.j2
@@ -17,6 +17,7 @@
RUN rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
.docker/Dockerfile-polkadot.j2diffbeforeafterboth--- a/.docker/Dockerfile-polkadot.j2
+++ b/.docker/Dockerfile-polkadot.j2
@@ -17,6 +17,7 @@
RUN rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
.docker/Dockerfile-testnet.j2diffbeforeafterboth--- a/.docker/Dockerfile-testnet.j2
+++ b/.docker/Dockerfile-testnet.j2
@@ -10,6 +10,7 @@
RUN rustup toolchain uninstall $(rustup toolchain list) && \
rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup target list --installed && \
rustup show
RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}
.docker/Dockerfile-try-runtime.j2diffbeforeafterboth--- a/.docker/Dockerfile-try-runtime.j2
+++ b/.docker/Dockerfile-try-runtime.j2
@@ -10,6 +10,7 @@
rustup toolchain install {{ RUST_TOOLCHAIN }} && \
rustup default {{ RUST_TOOLCHAIN }} && \
rustup target list --installed && \
+ rustup component add --toolchain {{ RUST_TOOLCHAIN }} rust-src && \
rustup show
RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}
.docker/Dockerfile-uniquediffbeforeafterboth--- a/.docker/Dockerfile-unique
+++ b/.docker/Dockerfile-unique
@@ -19,6 +19,7 @@
rustup toolchain install $RUST_TOOLCHAIN && \
rustup target add wasm32-unknown-unknown --toolchain ${RUST_TOOLCHAIN} && \
rustup default $RUST_TOOLCHAIN && \
+ rustup component add --toolchain $RUST_TOOLCHAIN rust-src && \
rustup target list --installed && \
rustup show
.docker/Dockerfile-unique-releasediffbeforeafterboth--- a/.docker/Dockerfile-unique-release
+++ b/.docker/Dockerfile-unique-release
@@ -19,6 +19,7 @@
rustup toolchain install $RUST_TOOLCHAIN && \
rustup target add wasm32-unknown-unknown --toolchain ${RUST_TOOLCHAIN} && \
rustup default $RUST_TOOLCHAIN && \
+ rustup component add --toolchain $RUST_TOOLCHAIN rust-src && \
rustup target list --installed && \
rustup show
.envdiffbeforeafterboth--- a/.env
+++ b/.env
@@ -1,4 +1,4 @@
-RUST_TOOLCHAIN=nightly-2023-05-22
+RUST_TOOLCHAIN=nightly-2024-02-21
POLKADOT_LAUNCH_BRANCH=unique-network
RELAY_CHAIN_TYPE=westend
CHAINQL=v0.4.1
@@ -26,8 +26,4 @@
WESTMINT_BUILD_BRANCH=parachains-v9430
OPAL_MAINNET_BRANCH=release-v10010063
OPAL_REPLICA_FROM=wss://ws-opal.unique.network:443
-
-UNIQUEEAST_MAINNET_BRANCH=release-v1.0.0
-SAPPHIRE_MAINNET_BRANCH=release-v10010063
-SAPPHIRE_REPLICA_FROM=wss://ws-sapphire.unique.network:443
.github/workflows/collator-selection.ymldiffbeforeafterboth--- a/.github/workflows/collator-selection.yml
+++ b/.github/workflows/collator-selection.yml
@@ -42,7 +42,6 @@
matrix: |
network {opal}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}
network {quartz}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}
- network {sapphire}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}
collator-selection:
.github/workflows/forkless-update-data.ymldiffbeforeafterboth--- a/.github/workflows/forkless-update-data.yml
+++ b/.github/workflows/forkless-update-data.yml
@@ -36,7 +36,6 @@
with:
matrix: |
network {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}, runtime_features {opal-runtime}, wasm_name {opal}, fork_source {${{ env.OPAL_REPLICA_FROM }}}
- network {sapphire}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}, runtime_features {sapphire-runtime}, wasm_name {quartz}, fork_source {${{ env.SAPPHIRE_REPLICA_FROM }}}
network {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}, runtime_features {quartz-runtime}, wasm_name {quartz}, fork_source {${{ env.QUARTZ_REPLICA_FROM }}}
network {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}, runtime_features {unique-runtime}, wasm_name {unique}, fork_source {${{ env.UNIQUE_REPLICA_FROM }}}
.github/workflows/forkless-update-nodata.ymldiffbeforeafterboth--- a/.github/workflows/forkless-update-nodata.yml
+++ b/.github/workflows/forkless-update-nodata.yml
@@ -36,7 +36,6 @@
with:
matrix: |
network {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}, runtime_features {opal-runtime}, wasm_name {opal}
- network {sapphire}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}, runtime_features {sapphire-runtime}, wasm_name {quartz}
network {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}, runtime_features {quartz-runtime}, wasm_name {quartz}
network {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}, runtime_features {unique-runtime}, wasm_name {unique}
.github/workflows/governance.ymldiffbeforeafterboth--- a/.github/workflows/governance.yml
+++ b/.github/workflows/governance.yml
@@ -34,7 +34,6 @@
network {unique}, wasm_name {unique}
network {quartz}, wasm_name {quartz}
network {opal}, wasm_name {opal}
- network {sapphire}, wasm_name {quartz}
dev_build_int_tests:
needs: prepare-execution-marix
.github/workflows/node-only-update.ymldiffbeforeafterboth1# https://cryptousetech.atlassian.net/wiki/spaces/CI/pages/2586837028/Nodes+only+update2# Node only update with restart polkadot-launch process.34name: nodes-only update56# Triger: only call from main workflow(re-usable workflows)7on:8 workflow_call:91011# A workflow run is made up of one or more jobs that can run sequentially or in parallel12jobs:1314 prepare-execution-matrix:1516 name: execution matrix1718 runs-on: self-hosted-ci19 outputs:20 matrix: ${{ steps.create_matrix.outputs.matrix }}2122 steps:2324 - name: Clean Workspace25 uses: AutoModality/action-clean@v1.1.02627 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it28 - uses: actions/checkout@v3.1.029 with:30 ref: ${{ github.head_ref }} #Checking out head commit3132 - name: Read .env file33 uses: xom9ikk/dotenv@v23435 - name: Create Execution matrix36 uses: CertainLach/create-matrix-action@v437 id: create_matrix38 with:39 matrix: |40 network {opal}, mainnet_branch {${{ env.OPAL_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEWEST_MAINNET_BRANCH }}}, runtime_features {opal-runtime}41 network {sapphire}, mainnet_branch {${{ env.SAPPHIRE_MAINNET_BRANCH }}}, relay_branch {${{ env.UNIQUEEAST_MAINNET_BRANCH }}}, runtime_features {sapphire-runtime}42 network {quartz}, mainnet_branch {${{ env.QUARTZ_MAINNET_BRANCH }}}, relay_branch {${{ env.KUSAMA_MAINNET_BRANCH }}}, runtime_features {quartz-runtime}43 network {unique}, mainnet_branch {${{ env.UNIQUE_MAINNET_BRANCH }}}, relay_branch {${{ env.POLKADOT_MAINNET_BRANCH }}}, runtime_features {unique-runtime}4445 node-only-update:4647 needs: prepare-execution-matrix48 # The type of runner that the job will run on49 runs-on: [self-hosted-ci]5051 timeout-minutes: 2880 # 48 hours for execution jobs.5253 name: ${{ matrix.network }}5455 continue-on-error: true #Do not stop testing of matrix runs failed. As it decided during PR review - it required 50/50& Let's check it with false.5657 strategy:58 matrix:59 include: ${{fromJson(needs.prepare-execution-matrix.outputs.matrix)}}6061 steps:6263 - name: Skip if pull request is in Draft64 if: github.event.pull_request.draft == true65 run: exit 16667 - name: Clean Workspace68 uses: AutoModality/action-clean@v1.1.06970 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it71 - uses: actions/checkout@v3.1.072 with:73 ref: ${{ github.head_ref }} #Checking out head commit7475 # Prepare SHA 76 - name: Prepare SHA77 uses: ./.github/actions/prepare7879 - name: Read .env file80 uses: xom9ikk/dotenv@v28182 - name: Log in to Docker Hub83 uses: docker/login-action@v2.1.084 with:85 username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}86 password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}8788 - name: Generate ENV related extend Dockerfile file for POLKADOT89 uses: cuchi/jinja2-action@v1.2.090 with:91 template: .docker/Dockerfile-polkadot.j292 output_file: .docker/Dockerfile-polkadot.${{ matrix.relay_branch }}.yml93 variables: |94 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}95 POLKADOT_BUILD_BRANCH=${{ matrix.relay_branch }}96 97 - name: Prepare polkadot98 uses: ./.github/actions/buildContainer99 id: polkadot100 with:101 container: uniquenetwork/builder-polkadot102 tag: ${{ matrix.relay_branch }}103 context: .docker104 dockerfile: Dockerfile-polkadot.${{ matrix.relay_branch }}.yml105 dockerhub_username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}106 dockerhub_token: ${{ secrets.CORE_DOCKERHUB_TOKEN }}107108 - name: Prepare mainnet109 uses: ./.github/actions/buildContainer110 id: mainnet111 with:112 container: uniquenetwork/ci-node-only-${{ matrix.network }}113 tag: ${{ matrix.mainnet_branch }}114 context: .docker115 dockerfile: Dockerfile-unique-release116 args: |117 --build-arg RUNTIME_FEATURES=${{ matrix.runtime_features }}118 --build-arg RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}119 --build-arg UNIQUE_VERSION=${{ matrix.mainnet_branch }}120 dockerhub_username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}121 dockerhub_token: ${{ secrets.CORE_DOCKERHUB_TOKEN }}122123 - name: Prepare latest124 uses: ./.github/actions/buildContainer125 id: latest126 with:127 container: uniquenetwork/ci-node-only-${{ matrix.network }}128 tag: ${{ env.REF_SLUG }}-${{ env.BUILD_SHA }}129 context: .130 dockerfile: .docker/Dockerfile-unique131 args: |132 --build-arg RUNTIME_FEATURES=${{ matrix.runtime_features }}133 --build-arg RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}134 dockerhub_username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}135 dockerhub_token: ${{ secrets.CORE_DOCKERHUB_TOKEN }}136137 - name: Checkout at '${{ matrix.mainnet_branch }}' branch138 uses: actions/checkout@master139 with:140 #ref: ${{ github.head_ref }}141 ref: ${{ matrix.mainnet_branch }} #Checking out head commit142 path: ${{ matrix.mainnet_branch }}143144 - uses: actions/setup-node@v3.5.1145 with:146 node-version: 18.17.1 # Update node version to 20 after mainnet will have changes for it147148 - name: Install baedeker149 uses: UniqueNetwork/baedeker-action/setup@built150151 - name: Setup library152 run: mkdir -p .baedeker/vendor/ && git clone https://github.com/UniqueNetwork/baedeker-library .baedeker/vendor/baedeker-library153154 - name: Start network155 uses: UniqueNetwork/baedeker-action@built156 id: bdk157 with:158 jpath: |159 .baedeker/vendor160 tla-str: |161 relay_spec=${{ env.RELAY_CHAIN_TYPE }}-local162 inputs: |163 .baedeker/node-only.jsonnet164 snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/polkadot':{dockerImage:'${{ steps.polkadot.outputs.name }}'}})165 ephemeral:snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.mainnet.outputs.name }}'}})166167 - name: Run Parallel tests before Node Parachain upgrade168 working-directory: ${{ matrix.mainnet_branch }}/tests169 if: success()170 run: |171 yarn172 yarn add mochawesome173 # TODO: Update to new script structure after mainnet will have it174 ./scripts/wait_for_first_block.sh175 echo "Ready to start tests"176 NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}177 env:178 RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}179180 - name: Run Sequential tests before Node Parachain upgrade181 if: success() || failure()182 working-directory: ${{ matrix.mainnet_branch }}/tests183 run: NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}184 env:185 RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}186187 - name: "Reconcile: only one old node"188 if: success() || failure()189 uses: UniqueNetwork/baedeker-action/reconcile@built190 with:191 baedeker: ${{ steps.bdk.outputs.baedeker }}192 # Chain should always be built with the mainnet spec, this we first set binary for all nodes expect one, then set mainnet binary for the last node, and then force chainspec to be still generated from mainnet193 inputs: |194 snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.latest.outputs.name }}'}}, leave = 1, for_chain = false)195 snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.mainnet.outputs.name }}'}}, for_chain = false)196 snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.mainnet.outputs.name }}'}})197198 - name: Ensure network is alive199 if: success()200 run: |201 ./js-packages/scripts/wait_for_first_block.sh202 env:203 RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}204205 - name: "Reconcile: all nodes are updated"206 if: success() || failure()207 uses: UniqueNetwork/baedeker-action/reconcile@built208 with:209 baedeker: ${{ steps.bdk.outputs.baedeker }}210 # Chain should always be built with the mainnet spec, this we first set binary for all nodes, and then force chainspec to be still generated from mainnet211 inputs: |212 snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.latest.outputs.name }}'}}, for_chain = false)213 snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.mainnet.outputs.name }}'}})214215 - name: Run Parallel tests after Node Parachain upgrade216 working-directory: ${{ matrix.mainnet_branch }}/tests217 if: success() || failure() # run this step even if previous step failed218 run: |219 yarn install220 yarn add mochawesome221 # TODO: Update to new script structure after mainnet will have it222 ./scripts/wait_for_first_block.sh223 echo "Ready to start tests"224 NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}225 env:226 RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}227228 - name: Run Sequential tests after Node Parachain upgrade229 if: success() || failure()230 working-directory: ${{ matrix.mainnet_branch }}/tests231 run: NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}232 env:233 RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}234235 - name: Remove builder cache236 if: always() # run this step always237 run: |238 docker system prune -f.github/workflows/polkadot-types.ymldiffbeforeafterboth--- a/.github/workflows/polkadot-types.yml
+++ b/.github/workflows/polkadot-types.yml
@@ -29,8 +29,6 @@
strategy:
matrix:
include:
- - network: "sapphire"
- usage: ""
- network: "opal"
usage: ""
- network: "quartz"
.github/workflows/try-runtime.ymldiffbeforeafterboth--- a/.github/workflows/try-runtime.yml
+++ b/.github/workflows/try-runtime.yml
@@ -34,7 +34,6 @@
with:
matrix: |
network {opal}, wasm_name {opal}, replica_from_address {${{ env.OPAL_REPLICA_FROM }}}
- network {sapphire}, wasm_name {quartz}, replica_from_address {${{ env.SAPPHIRE_REPLICA_FROM }}}
network {quartz}, wasm_name {quartz}, replica_from_address {${{ env.QUARTZ_REPLICA_FROM }}}
network {unique}, wasm_name {unique}, replica_from_address {${{ env.UNIQUE_REPLICA_FROM }}}
.github/workflows/yarn-dev.ymldiffbeforeafterboth--- a/.github/workflows/yarn-dev.yml
+++ b/.github/workflows/yarn-dev.yml
@@ -24,7 +24,6 @@
matrix:
include:
- network: "opal"
- - network: "sapphire"
- network: "quartz"
- network: "unique"
README.mddiffbeforeafterboth--- a/README.md
+++ b/README.md
@@ -52,17 +52,17 @@
2. Remove all installed toolchains with `rustup toolchain list` and `rustup toolchain uninstall <toolchain>`.
-3. Install toolchain nightly-2023-05-22 and make it default:
+3. Install toolchain nightly-2024-02-21 and make it default:
```bash
-rustup toolchain install nightly-2023-05-22
-rustup default nightly-2023-05-22
+rustup toolchain install nightly-2024-02-21
+rustup default nightly-2024-02-21
```
4. Add wasm target for nightly toolchain:
```bash
-rustup target add wasm32-unknown-unknown --toolchain nightly-2023-05-22
+rustup target add wasm32-unknown-unknown --toolchain nightly-2024-02-21
```
5. Build:
js-packages/scripts/generate_types/wait_for_first_block.shdiffbeforeafterboth--- a/js-packages/scripts/generate_types/wait_for_first_block.sh
+++ b/js-packages/scripts/generate_types/wait_for_first_block.sh
@@ -6,38 +6,42 @@
last_block_id=0
block_id=0
+counter=0
function get_block {
- block_id_hex=$(do_rpc chain_getHeader | jq -r .result.number)
- block_id=$((block_id_hex))
- echo Id = $block_id
+ block_id_hex=$(do_rpc chain_getHeader | jq -r .result.number)
+ block_id=$((block_id_hex))
+ echo Id = $block_id
}
function had_new_block {
- last_block_id=$block_id
- get_block
- if (( last_block_id != 0 && block_id > last_block_id )); then
- return 0
- fi
- return 1
+ last_block_id=$block_id
+ get_block
+ if (( last_block_id != 0 && block_id > last_block_id )); then
+ return 0
+ fi
+ return 1
}
function reset_check {
- last_block_id=0
- block_id=0
+ last_block_id=0
+ block_id=0
+ counter=0
}
-while ! had_new_block; do
- echo "Waiting for next block..."
- sleep 12
+while [ ! had_new_block ] && [ $counter -lt 100 ]; do
+ echo "Waiting for next block..."
+ counter=$((counter+1))
+ sleep 12
done
+
reset_check
echo "Chain is running, but lets wait for another block after a minute, to avoid startup flakiness."
sleep 60
while ! had_new_block; do
- echo "Waiting for another block..."
- sleep 12
+ echo "Waiting for another block..."
+ sleep 12
done
echo "Chain is running!"
runtime/common/tests/xcm.rsdiffbeforeafterboth--- a/runtime/common/tests/xcm.rs
+++ b/runtime/common/tests/xcm.rs
@@ -22,7 +22,12 @@
};
use super::{last_events, new_test_ext, AccountId};
-use crate::{PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin};
+use crate::{
+ runtime_common::config::xcm::XcmExecutorConfig, PolkadotXcm, Runtime, RuntimeCall,
+ RuntimeEvent, RuntimeOrigin,
+};
+
+type XcmExecutor = staging_xcm_executor::XcmExecutor<XcmExecutorConfig<Runtime>>;
const ALICE: AccountId = AccountId::new([0u8; 32]);
const BOB: AccountId = AccountId::new([1u8; 32]);
@@ -32,35 +37,37 @@
#[test]
pub fn xcm_transact_is_forbidden() {
new_test_ext(vec![(ALICE, INITIAL_BALANCE)]).execute_with(|| {
- PolkadotXcm::execute(
- RuntimeOrigin::signed(ALICE),
- Box::new(VersionedXcm::from(Xcm(vec![Transact {
- origin_kind: OriginKind::Native,
- require_weight_at_most: Weight::from_parts(1000, 1000),
- call: RuntimeCall::Balances(
- pallet_balances::Call::<Runtime>::transfer_keep_alive {
- dest: BOB.into(),
- value: INITIAL_BALANCE / 2,
- },
- )
- .encode()
- .into(),
- }]))),
- Weight::from_parts(1001000, 2000),
- )
- .expect(
- "XCM execute must succeed, the error should be in the `PolkadotXcm::Attempted` event",
- );
+ let max_weight = Weight::from_parts(1001000, 2000);
- let xcm_event = &last_events(1)[0];
- match xcm_event {
- RuntimeEvent::PolkadotXcm(pallet_xcm::Event::<Runtime>::Attempted {
- outcome: Outcome::Incomplete(_weight, Error::NoPermission),
- }) => { /* Pass */ }
- _ => panic!(
- "Expected PolkadotXcm.Attempted(Incomplete(_weight, NoPermission)),\
- found: {xcm_event:#?}"
- ),
+ let origin: Location = AccountId32 {
+ network: None,
+ id: *ALICE.as_ref(),
}
+ .into();
+ let message = Xcm(vec![Transact {
+ origin_kind: OriginKind::Native,
+ require_weight_at_most: Weight::from_parts(1000, 1000),
+ call: RuntimeCall::Balances(pallet_balances::Call::<Runtime>::transfer_keep_alive {
+ dest: BOB.into(),
+ value: INITIAL_BALANCE / 2,
+ })
+ .encode()
+ .into(),
+ }]);
+ let mut hash = message.using_encoded(sp_io::hashing::blake2_256);
+ let weight_limit = max_weight;
+ let weight_credit = max_weight;
+
+ let error = XcmExecutor::prepare_and_execute(
+ origin,
+ message,
+ &mut hash,
+ weight_limit,
+ weight_credit,
+ )
+ .ensure_complete()
+ .expect_err("XCM Transact shouldn't succeed");
+
+ assert_eq!(error, Error::NoPermission);
});
}