difftreelog
ci fix js-packages paths
in: master
18 files changed
.github/workflows/collator-selection.ymldiffbeforeafterboth--- a/.github/workflows/collator-selection.yml
+++ b/.github/workflows/collator-selection.yml
@@ -181,7 +181,7 @@
yarn add mochawesome
# Wanted by both wait_for_first_block
# export RPC_URL="${RELAY_SAPPHIRE_HTTP_URL:-${RELAY_OPAL_HTTP_URL:-${RELAY_QUARTZ_HTTP_URL:-${RELAY_UNIQUE_HTTP_URL:-}}}}"
- ../scripts/src/generate_types/wait_for_first_block.sh
+ ../scripts/wait_for_first_block.sh
echo "Ready to start tests"
NOW=$(date +%s) && yarn testCollators --reporter mochawesome --reporter-options reportFilename=test-collators-${NOW}
env:
.github/workflows/forkless-update-data.ymldiffbeforeafterboth--- a/.github/workflows/forkless-update-data.yml
+++ b/.github/workflows/forkless-update-data.yml
@@ -146,19 +146,19 @@
snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.latest.outputs.name }}'}})
- name: "Reconcile: runtime is upgraded"
- working-directory: tests
+ working-directory: js-packages/tests
run: |
yarn
- ./scripts/wait_for_first_block.sh
+ ../scripts/wait_for_first_block.sh
echo "Executing upgrade"
- yarn ts-node --esm src/util/authorizeEnactUpgrade.ts ${{ steps.wasms.outputs.dir }}/${{ matrix.wasm_name }}-runtime/${{ matrix.wasm_name }}_runtime.compact.compressed.wasm
+ yarn ts-node --esm util/authorizeEnactUpgrade.ts ${{ steps.wasms.outputs.dir }}/${{ matrix.wasm_name }}-runtime/${{ matrix.wasm_name }}_runtime.compact.compressed.wasm
env:
RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}
- name: Run Parallel tests after forkless upgrade
- working-directory: tests
+ working-directory: js-packages/tests
run: |
- ./scripts/wait_for_first_block.sh
+ ../scripts/wait_for_first_block.sh
echo "Ready to start tests"
NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}
env:
@@ -166,7 +166,7 @@
- name: Run Sequential tests after forkless upgrade
if: success() || failure()
- working-directory: tests
+ working-directory: js-packages/tests
run: NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}
env:
RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}
.github/workflows/forkless-update-nodata.ymldiffbeforeafterboth--- a/.github/workflows/forkless-update-nodata.yml
+++ b/.github/workflows/forkless-update-nodata.yml
@@ -161,19 +161,19 @@
snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.mainnet.outputs.name }}'}})
- name: "Reconcile: runtime is upgraded"
- working-directory: tests
+ working-directory: js-packages/tests
run: |
yarn
- ./scripts/wait_for_first_block.sh
+ ../scripts/wait_for_first_block.sh
echo "Executing upgrade"
- yarn ts-node --esm src/util/authorizeEnactUpgrade.ts ${{ steps.wasms.outputs.dir }}/${{ matrix.wasm_name }}-runtime/${{ matrix.wasm_name }}_runtime.compact.compressed.wasm
+ yarn ts-node --esm util/authorizeEnactUpgrade.ts ${{ steps.wasms.outputs.dir }}/${{ matrix.wasm_name }}-runtime/${{ matrix.wasm_name }}_runtime.compact.compressed.wasm
env:
RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}
- name: Run Parallel tests after forkless upgrade
- working-directory: tests
+ working-directory: js-packages/tests
run: |
- ./scripts/wait_for_first_block.sh
+ ../scripts/wait_for_first_block.sh
echo "Ready to start tests"
NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}
env:
@@ -181,7 +181,7 @@
- name: Run Sequential tests after forkless upgrade
if: success() || failure()
- working-directory: tests
+ working-directory: js-packages/tests
run: NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}
env:
RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}
.github/workflows/governance.ymldiffbeforeafterboth--- a/.github/workflows/governance.yml
+++ b/.github/workflows/governance.yml
@@ -86,7 +86,7 @@
run: |
yarn install
yarn add mochawesome
- ../scripts/src/generate_types/wait_for_first_block.sh
+ ../scripts/wait_for_first_block.sh
echo "Ready to start tests"
NOW=$(date +%s) && yarn testGovernance --reporter mochawesome --reporter-options reportFilename=test-${NOW}
env:
.github/workflows/make-bench.ymldiffbeforeafterboth--- a/.github/workflows/make-bench.yml
+++ b/.github/workflows/make-bench.yml
@@ -43,16 +43,15 @@
time make bench
- name: Run node dev mode in background
- working-directory: ./
run: |
./target/release/unique-collator --dev &
- name: RUN Calibrate
- working-directory: ./tests
+ working-directory: js-packages/scripts
run: |
- yarn install
- yarn ts-node --esm src/calibrate.ts
- yarn ts-node --esm src/calibrateApply.ts
+ yarn
+ yarn ts-node --esm calibrate.ts
+ yarn ts-node --esm calibrateApply.ts
- name: show git diff
run: |
.github/workflows/market-test.ymldiffbeforeafterboth--- a/.github/workflows/market-test.yml
+++ b/.github/workflows/market-test.yml
@@ -119,10 +119,10 @@
# Temporary disable node readyness check. Have to dig into the script logic.
# - name: Wait for chain up and running
-# working-directory: tests
+# working-directory: js-packages/tests
# run: |
# yarn install
-# ./scripts/wait_for_first_block.sh
+# ../scripts/wait_for_first_block.sh
# echo "Ready to start tests"
# env:
# RPC_URL: http://127.0.0.1:9944/
.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: 18147148 - 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 ./scripts/wait_for_first_block.sh174 echo "Ready to start tests"175 NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}176 env:177 RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}178179 - name: Run Sequential tests before Node Parachain upgrade180 if: success() || failure()181 working-directory: ${{ matrix.mainnet_branch }}/tests182 run: NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}183 env:184 RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}185186 - name: "Reconcile: only one old node"187 if: success() || failure()188 uses: UniqueNetwork/baedeker-action/reconcile@built189 with:190 baedeker: ${{ steps.bdk.outputs.baedeker }}191 # 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 mainnet192 inputs: |193 snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.latest.outputs.name }}'}}, leave = 1, for_chain = false)194 snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.mainnet.outputs.name }}'}}, for_chain = false)195 snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.mainnet.outputs.name }}'}})196197 - name: Ensure network is alive198 if: success()199 run: |200 ./tests/scripts/wait_for_first_block.sh201 env:202 RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}203204 - name: "Reconcile: all nodes are updated"205 if: success() || failure()206 uses: UniqueNetwork/baedeker-action/reconcile@built207 with:208 baedeker: ${{ steps.bdk.outputs.baedeker }}209 # 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 mainnet210 inputs: |211 snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.latest.outputs.name }}'}}, for_chain = false)212 snippet:(import 'baedeker-library/ops/rewrites.libsonnet').rewriteNodePaths({'bin/unique':{dockerImage:'${{ steps.mainnet.outputs.name }}'}})213214 - name: Run Parallel tests after Node Parachain upgrade215 working-directory: ${{ matrix.mainnet_branch }}/tests216 if: success() || failure() # run this step even if previous step failed217 run: |218 yarn install219 yarn add mochawesome220 ./scripts/wait_for_first_block.sh221 echo "Ready to start tests"222 NOW=$(date +%s) && yarn testParallel --reporter mochawesome --reporter-options reportFilename=test-parallel-${NOW}223 env:224 RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}225226 - name: Run Sequential tests after Node Parachain upgrade227 if: success() || failure()228 working-directory: ${{ matrix.mainnet_branch }}/tests229 run: NOW=$(date +%s) && yarn testSequential --reporter mochawesome --reporter-options reportFilename=test-sequential-${NOW}230 env:231 RPC_URL: ${{ env.RELAY_UNIQUE_HTTP_URL }}232233 - name: Remove builder cache234 if: always() # run this step always235 run: |236 docker system prune -f1# 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: 18147148 - 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
@@ -74,13 +74,13 @@
# run: sudo apt install jq -y
- name: Run generate_types_package script
- working-directory: tests
+ working-directory: js-packages
run: |
yarn install
- /bin/bash ./scripts/generate_types/wait_for_first_block.sh
+ ./scripts/wait_for_first_block.sh
git config --global user.name "Unique"
git config --global user.email github-actions@usetech.com
- /bin/bash ./scripts/generate_types/generate_types_package.sh --release ${{ matrix.usage }} --push
+ ./scripts/generate_types/generate_types_package.sh --release ${{ matrix.usage }} --push
env:
RPC_URL: http://127.0.0.1:9944/
.github/workflows/xcm.ymldiffbeforeafterboth--- a/.github/workflows/xcm.yml
+++ b/.github/workflows/xcm.yml
@@ -327,22 +327,22 @@
retention-days: 2
- name: Yarn install
- working-directory: tests
+ working-directory: js-packages/tests
run: |
yarn install
yarn add mochawesome
- name: Call HRMP initialization
- working-directory: tests
+ working-directory: js-packages/tests
run: |
- yarn ts-node --esm src/util/createHrmp.ts ${{matrix.network}}
+ yarn ts-node --esm util/createHrmp.ts ${{matrix.network}}
- name: Run XCM tests
working-directory: js-packages/tests
run: |
# Wanted by both wait_for_first_block
export RPC_URL="${RELAY_OPAL_HTTP_URL:-${RELAY_QUARTZ_HTTP_URL:-${RELAY_UNIQUE_HTTP_URL:-}}}"
- ../scripts/src/generate_types/wait_for_first_block.sh
+ ../scripts/wait_for_first_block.sh
echo "Ready to start tests"
NOW=$(date +%s) && yarn ${{ matrix.runtest }} --reporter mochawesome --reporter-options reportFilename=test-${NOW}
.github/workflows/yarn-dev.ymldiffbeforeafterboth--- a/.github/workflows/yarn-dev.yml
+++ b/.github/workflows/yarn-dev.yml
@@ -66,7 +66,7 @@
run: |
yarn install
yarn add mochawesome
- ../scripts/src/generate_types/wait_for_first_block.sh
+ ../scripts/wait_for_first_block.sh
echo "Ready to start tests"
NOW=$(date +%s) && yarn test --reporter mochawesome --reporter-options reportFilename=test-${NOW}
env:
@@ -90,13 +90,13 @@
working-directory: js-packages/scripts
run: |
yarn install
- npx ts-node --esm ./src/benchmarks/mintFee/index.ts
+ npx ts-node --esm ./benchmarks/mintFee/index.ts
- name: Run benchmark opsFee tests
working-directory: js-packages/scripts
run: |
yarn install
- npx ts-node --esm ./src/benchmarks/opsFee/index.ts
+ npx ts-node --esm ./benchmarks/opsFee/index.ts
- name: Stop running containers
if: always() # run this step always
Makefilediffbeforeafterboth--- a/Makefile
+++ b/Makefile
@@ -7,25 +7,25 @@
@echo " bench-unique"
NATIVE_FUNGIBLE_EVM_STUBS=./pallets/balances-adapter/src/stubs
-NATIVE_FUNGIBLE_EVM_ABI=./js-packages/tests/src/eth/abi/nativeFungible.json
+NATIVE_FUNGIBLE_EVM_ABI=./js-packages/tests/eth/abi/nativeFungible.json
FUNGIBLE_EVM_STUBS=./pallets/fungible/src/stubs
-FUNGIBLE_EVM_ABI=./js-packages/tests/src/eth/abi/fungible.json
+FUNGIBLE_EVM_ABI=./js-packages/tests/eth/abi/fungible.json
NONFUNGIBLE_EVM_STUBS=./pallets/nonfungible/src/stubs
-NONFUNGIBLE_EVM_ABI=./js-packages/tests/src/eth/abi/nonFungible.json
+NONFUNGIBLE_EVM_ABI=./js-packages/tests/eth/abi/nonFungible.json
REFUNGIBLE_EVM_STUBS=./pallets/refungible/src/stubs
-REFUNGIBLE_EVM_ABI=./js-packages/tests/src/eth/abi/reFungible.json
-REFUNGIBLE_TOKEN_EVM_ABI=./js-packages/tests/src/eth/abi/reFungibleToken.json
+REFUNGIBLE_EVM_ABI=./js-packages/tests/eth/abi/reFungible.json
+REFUNGIBLE_TOKEN_EVM_ABI=./js-packages/tests/eth/abi/reFungibleToken.json
CONTRACT_HELPERS_STUBS=./pallets/evm-contract-helpers/src/stubs/
-CONTRACT_HELPERS_ABI=./js-packages/tests/src/eth/abi/contractHelpers.json
+CONTRACT_HELPERS_ABI=./js-packages/tests/eth/abi/contractHelpers.json
COLLECTION_HELPER_STUBS=./pallets/unique/src/eth/stubs/
-COLLECTION_HELPER_ABI=./js-packages/tests/src/eth/abi/collectionHelpers.json
+COLLECTION_HELPER_ABI=./js-packages/tests/eth/abi/collectionHelpers.json
-TESTS_API=./js-packages/tests/src/eth/api/
+TESTS_API=./js-packages/tests/eth/api/
.PHONY: regenerate_solidity
regenerate_solidity: UniqueFungible.sol UniqueNFT.sol UniqueRefungible.sol UniqueRefungibleToken.sol ContractHelpers.sol CollectionHelpers.sol
doc/separate_rpc.mddiffbeforeafterboth--- a/doc/separate_rpc.md
+++ b/doc/separate_rpc.md
@@ -77,7 +77,7 @@
* runtime/quartz/Cargo.toml
* runtime/unique/Cargo.toml
-7. Create tests/src/interfaces/ModuleName/definitions.ts and describe the necessary methods in it.
+7. Create js-packages/types/ModuleName/definitions.ts and describe the necessary methods in it.
```ts
type RpcParam = {
name: string;
@@ -105,19 +105,19 @@
};
```
-8. Describe definitions from paragraph 7 in tests/src/interfaces/definitions.ts.
+8. Describe definitions from paragraph 7 in js-packages/types/definitions.ts.
```ts
export {default as ModuleName} from './module/definitions';
```
-9. tests/src/substrate/substrate-api.ts
+9. js-packages/tests/substrate/substrate-api.ts
* Set the RPC interface in the `defaultApiOptions` function, add an entry in the `rpc` parameter
```ts
module: defs.module.rpc,
```
-10. tests/src/util/playgrounds/unique.dev.ts
+10. js-packages/playgrounds/unique.dev.ts
* Specify RPC interface in `connect` function, add entry in `rpc` parameter
```ts
module: defs.module.rpc,
- ```
\ No newline at end of file
+ ```
js-packages/.dockerignorediffbeforeafterboth--- a/js-packages/.dockerignore
+++ b/js-packages/.dockerignore
@@ -1,2 +1 @@
node_modules/
-Dockerfile-tests
js-packages/Dockerfile-testsdiffbeforeafterboth--- a/js-packages/Dockerfile-tests
+++ /dev/null
@@ -1,38 +0,0 @@
-# ===== Integration Tests ======
-
-
-FROM ubuntu:22.04
-LABEL maintainer="UniqueNetwork.io"
-
-RUN apt -y update; apt -y upgrade; apt -y install curl
-
-
-RUN mkdir unique_parachain
-WORKDIR /unique_parachain
-
-RUN apt-get -y update && \
- apt-get -y upgrade && \
- apt-get -y install curl jq && \
- 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.2.0 && \
- nvm alias default v16.2.0 && \
- nvm use default
-
-ENV YARN_CACHE_FOLDER ~/.yarn
-
-COPY package.json yarn.lock ./
-
-RUN export NVM_DIR="$HOME/.nvm" && \
- [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
- npm install --global yarn && \
- yarn add mochawesome && \
- yarn --pure-lockfile
-
-COPY . .
-
-CMD export NVM_DIR="$HOME/.nvm" && \
- [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
- ./scripts/wait_for_first_block.sh && \
- NOW=$(date +%s) && yarn test --reporter mochawesome --reporter-options reportFilename=test-${NOW}
js-packages/scripts/benchmarks/mintFee/index.tsdiffbeforeafterboth--- a/js-packages/scripts/benchmarks/mintFee/index.ts
+++ b/js-packages/scripts/benchmarks/mintFee/index.ts
@@ -14,23 +14,23 @@
export const CONTRACT_IMPORT: ContractImports[] = [
{
- fsPath: `${dirname}/../../../../tests/eth/api/CollectionHelpers.sol`,
+ fsPath: `${dirname}/../../../tests/eth/api/CollectionHelpers.sol`,
solPath: 'eth/api/CollectionHelpers.sol',
},
{
- fsPath: `${dirname}/../../../../tests/eth/api/ContractHelpers.sol`,
+ fsPath: `${dirname}/../../../tests/eth/api/ContractHelpers.sol`,
solPath: 'eth/api/ContractHelpers.sol',
},
{
- fsPath: `${dirname}/../../../../tests/eth/api/UniqueRefungibleToken.sol`,
+ fsPath: `${dirname}/../../../tests/eth/api/UniqueRefungibleToken.sol`,
solPath: 'eth/api/UniqueRefungibleToken.sol',
},
{
- fsPath: `${dirname}/../../../../tests/eth/api/UniqueRefungible.sol`,
+ fsPath: `${dirname}/../../../tests/eth/api/UniqueRefungible.sol`,
solPath: 'eth/api/UniqueRefungible.sol',
},
{
- fsPath: `${dirname}/../../../../tests/eth/api/UniqueNFT.sol`,
+ fsPath: `${dirname}/../../../tests/eth/api/UniqueNFT.sol`,
solPath: 'eth/api/UniqueNFT.sol',
},
];
js-packages/scripts/package.jsondiffbeforeafterboth--- a/js-packages/scripts/package.json
+++ b/js-packages/scripts/package.json
@@ -14,10 +14,10 @@
"tslib": "^2.6.2"
},
"scripts": {
- "benchMintingFee": "ts-node src/benchmarks/mintFee/benchmark.ts",
- "loadTransfer": "ts-node src/transfer.nload.ts",
- "generateEnv": "ts-node --esm ./src/generateEnv.ts",
- "propose-upgrade": "ts-node --esm ./src/proposeupgrade.ts",
- "propose-fast-track": "ts-node --esm ./src/proposefasttrack.ts"
+ "benchMintingFee": "ts-node benchmarks/mintFee/benchmark.ts",
+ "loadTransfer": "ts-node transfer.nload.ts",
+ "generateEnv": "ts-node --esm ./generateEnv.ts",
+ "propose-upgrade": "ts-node --esm ./proposeupgrade.ts",
+ "propose-fast-track": "ts-node --esm ./proposefasttrack.ts"
}
}
js-packages/scripts/wait_for_first_block.shdiffbeforeafterboth--- /dev/null
+++ b/js-packages/scripts/wait_for_first_block.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+
+DIR=$(dirname "$0")
+
+. "$DIR/functions.sh"
+
+last_block_id=0
+block_id=0
+function get_block {
+ 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
+}
+
+function reset_check {
+ last_block_id=0
+ block_id=0
+}
+
+while ! had_new_block; do
+ echo "Waiting for next block..."
+ 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
+done
+
+echo "Chain is running!"
js-packages/tests/package.jsondiffbeforeafterboth--- a/js-packages/tests/package.json
+++ b/js-packages/tests/package.json
@@ -26,6 +26,10 @@
"_test": "yarn setup && mocha --timeout 9999999 --loader=ts-node/esm.mjs",
"_testParallel": "yarn setup && mocha --timeout 9999999 --parallel --loader=ts-node/esm.mjs",
"test": "yarn _test './**/*.*test.ts'",
+ "testParallel": "yarn _testParallel './**/*.test.ts'",
+ "testSequential": "yarn _test './**/*.seqtest.ts'",
+ "testGovernance": "RUN_GOV_TESTS=1 yarn _test ./**/governance/*.*test.ts",
+ "testCollators": "RUN_COLLATOR_TESTS=1 yarn _test ./**/collator-selection/**.*test.ts --timeout 49999999",
"load": "yarn _test './**/*.load.ts'"
}
}