git.delta.rocks / unique-network / refs/commits / 4f3a2095e1df

difftreelog

ci synchronize forkless data/fork

Yaroslav Bolyukin2022-08-18parent: #7f428c4.patch.diff
in: master

6 files changed

modified.docker/Dockerfile-parachain-upgradediffbeforeafterboth
24 rustup show24 rustup show
25RUN rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN25RUN rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN
2626
27
28RUN mkdir /unique_parachain27RUN mkdir /unique_parachain
29WORKDIR /unique_parachain28WORKDIR /unique_parachain
3029
31
32# ===== BUILD current version ======30# ===== BUILD current version ======
33FROM rust-builder as builder-unique-current31FROM rust-builder as builder-unique-current
3432
42RUN git clone $REPO_URL -b $MAINNET_BRANCH . && \40RUN git clone $REPO_URL -b $MAINNET_BRANCH . && \
43 cargo build --features=$FEATURE --$PROFILE41 cargo build --features=$FEATURE --$PROFILE
4442
45
46# ===== BUILD target version ======43# ===== BUILD target version ======
47FROM rust-builder as builder-unique-target44FROM rust-builder as builder-unique-target
4845
77ENV RUNTIME $RUNTIME74ENV RUNTIME $RUNTIME
7875
79RUN apt-get -y update && \76RUN apt-get -y update && \
80 apt-get -y install curl git && \77 apt-get -y install curl git && \
81 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \78 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \
82 export NVM_DIR="$HOME/.nvm" && \79 export NVM_DIR="$HOME/.nvm" && \
83 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \80 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
84 nvm install v16.16.0 && \81 nvm install v16.16.0 && \
85 nvm use v16.16.082 nvm use v16.16.0
8683
87RUN git clone https://github.com/uniquenetwork/polkadot-launch -b feature/runtime-upgrade-testing84RUN git clone https://github.com/uniquenetwork/polkadot-launch -b feature/runtime-upgrade-testing
8885
10097
101COPY --from=builder-polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/98COPY --from=builder-polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/
102COPY --from=builder-polkadot /unique_parachain/polkadot/target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm /polkadot/target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm99COPY --from=builder-polkadot /unique_parachain/polkadot/target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm /polkadot/target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm
103
104100
105CMD export NVM_DIR="$HOME/.nvm" && \101CMD export NVM_DIR="$HOME/.nvm" && \
106 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \102 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
modified.docker/Dockerfile-parachain-upgrade-datadiffbeforeafterboth
5ARG RUST_TOOLCHAIN=5ARG RUST_TOOLCHAIN=
66
7ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN7ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN
8
9ENV CARGO_HOME="/cargo-home"8ENV CARGO_HOME="/cargo-home"
10ENV PATH="/cargo-home/bin:$PATH"9ENV PATH="/cargo-home/bin:$PATH"
11ENV TZ=UTC10ENV TZ=UTC
28RUN mkdir /unique_parachain27RUN mkdir /unique_parachain
29WORKDIR /unique_parachain28WORKDIR /unique_parachain
3029
30# ===== BUILD current version ======
31FROM rust-builder as builder-unique-current
32
33ARG PROFILE=release
34ARG FEATURE=
35ARG MAINNET_BRANCH=
36ARG REPO_URL=
37
38WORKDIR /unique_parachain
39
40RUN git clone $REPO_URL -b $MAINNET_BRANCH . && \
41 cargo build --features=$FEATURE --$PROFILE
42
31# ===== BUILD target version ======43# ===== BUILD target version ======
32FROM rust-builder as builder-unique-target44FROM rust-builder as builder-unique-target
3345
59RUN mkdir chainql71RUN mkdir chainql
60WORKDIR /chainql72WORKDIR /chainql
6173
62RUN git clone --depth 1 https://github.com/CertainLach/chainql.git . && \74RUN git clone -b v0.1.0 --depth 1 https://github.com/CertainLach/chainql.git . && \
63 cargo build --release75 cargo build --release
6476
65# ===== RUN ======77# ===== RUN ======
70ENV RUNTIME $RUNTIME82ENV RUNTIME $RUNTIME
7183
72RUN apt-get -y update && \84RUN apt-get -y update && \
73 apt-get -y install curl git && \85 apt-get -y install curl git && \
74 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \86 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \
75 export NVM_DIR="$HOME/.nvm" && \87 export NVM_DIR="$HOME/.nvm" && \
76 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \88 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
77 nvm install v16.16.0 && \89 nvm install v16.16.0 && \
78 nvm use v16.16.090 nvm use v16.16.0
7991
80RUN git clone https://github.com/uniquenetwork/polkadot-launch -b feature/parachain-forking92RUN git clone https://github.com/uniquenetwork/polkadot-launch.git -b feature/parachain-forking
8193
82RUN export NVM_DIR="$HOME/.nvm" && \94RUN export NVM_DIR="$HOME/.nvm" && \
83 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \95 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
8799
88RUN echo "$RUNTIME"100RUN echo "$RUNTIME"
89101
102COPY --from=builder-unique-current /unique_parachain/target/release/unique-collator /unique-chain/current/release/
90COPY --from=builder-unique-target /unique_parachain/target/release/unique-collator /unique-chain/target/release/103COPY --from=builder-unique-target /unique_parachain/target/release/unique-collator /unique-chain/target/release/
104COPY --from=builder-unique-target /unique_parachain/target/release/wbuild/"$RUNTIME"-runtime/"$RUNTIME"_runtime.compact.compressed.wasm /unique-chain/target/release/wbuild/"$RUNTIME"-runtime/"$RUNTIME"_runtime.compact.compressed.wasm
91105
106COPY --from=builder-chainql /chainql/target/release/chainql /chainql/target/release/
107
92COPY --from=builder-polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/108COPY --from=builder-polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/
109COPY --from=builder-polkadot /unique_parachain/polkadot/target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm /polkadot/target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm
93110
94COPY --from=builder-chainql /chainql/target/release/chainql /chainql/target/release/
95
96ARG FORK_FROM=111ARG FORK_FROM=
97ENV FORK_FROM=$FORK_FROM112ENV FORK_FROM=$FORK_FROM
98CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" FORK_FROM && \113CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" FORK_FROM && \
99 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \114 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
100 cd /polkadot-launch && \115 cd /polkadot-launch && \
101 yarn start launch-config.json116 yarn start launch-config.json --test-upgrade-parachains
102
103117
104
modified.docker/docker-compose.tmp-forkless-data.j2diffbeforeafterboth
10 - "FEATURE={{ FEATURE }}"10 - "FEATURE={{ FEATURE }}"
11 - "RUNTIME={{ RUNTIME }}"11 - "RUNTIME={{ RUNTIME }}"
12 - "POLKADOT_BUILD_BRANCH={{ POLKADOT_BUILD_BRANCH }}"12 - "POLKADOT_BUILD_BRANCH={{ POLKADOT_BUILD_BRANCH }}"
13 - "MAINNET_TAG={{ MAINNET_TAG }}"
14 - "MAINNET_BRANCH={{ MAINNET_BRANCH }}"
13 - "FORK_FROM={{ FORK_FROM }}"15 - "FORK_FROM={{ FORK_FROM }}"
14 context: ../16 context: ../
15 dockerfile: .docker/Dockerfile-parachain-upgrade-data17 dockerfile: .docker/Dockerfile-parachain-upgrade-data
23 - type: bind25 - type: bind
24 source: ./forkless-config/fork.jsonnet26 source: ./forkless-config/fork.jsonnet
25 target: /polkadot-launch/fork.jsonnet27 target: /polkadot-launch/fork.jsonnet
26 read_only: true 28 read_only: true
29 - type: bind
30 source: ./forkless-config/typeNames.jsonnet
31 target: /polkadot-launch/typeNames.jsonnet
32 read_only: true
27 expose:33 expose:
28 - 994434 - 9944
29 - 993335 - 9933
33 logging:39 logging:
34 options:40 options:
35 max-size: "1m"41 max-size: "1m"
36 max-file: "3"42 max-file: "3"
43
modified.docker/forkless-config/launch-config-forkless-data.j2diffbeforeafterboth
1{1{
2 "relaychain": {2 "relaychain": {
3 "bin": "/polkadot/target/release/polkadot",3 "bin": "/polkadot/target/release/polkadot",
4 "upgradeBin": "/polkadot/target/release/polkadot",
5 "upgradeWasm": "/polkadot/target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm",
4 "chain": "westend-local",6 "chain": "westend-local",
5 "nodes": [7 "nodes": [
6 {8 {
85 "parachains": [87 "parachains": [
86 {88 {
87 "bin": "/unique-chain/target/release/unique-collator",89 "bin": "/unique-chain/target/release/unique-collator",
90 "upgradeBin": "/unique-chain/target/release/unique-collator",
91 "upgradeWasm": "/unique-chain/target/release/wbuild/{{ FEATURE }}/{{ RUNTIME }}_runtime.compact.compressed.wasm",
88 "id": "1000",92 "id": "1000",
89 "balance": "1000000000000000000000000",93 "balance": "1000000000000000000000000",
90 "chainRawInitializer": [94 "chainRawInitializer": [
modified.envdiffbeforeafterboth
7KUSAMA_MAINNET_BRANCH=release-v0.9.267KUSAMA_MAINNET_BRANCH=release-v0.9.26
8QUARTZ_MAINNET_TAG=quartz-v924012-28QUARTZ_MAINNET_TAG=quartz-v924012-2
9
10OPAL_FORK_FROM=wss://eu-ws-opal.unique.network:443
11QUARTZ_FORK_FROM=wss://eu-ws-quartz.unique.network:443
12UNIQUE_FORK_FROM=wss://eu-ws.unique.network:443
913
modified.github/workflows/forkless-update-data.ymldiffbeforeafterboth
26# A workflow run is made up of one or more jobs that can run sequentially or in parallel26# A workflow run is made up of one or more jobs that can run sequentially or in parallel
27jobs:27jobs:
28
29 prepare-execution-marix:
30
31 name: Prepare execution matrix
32
33 runs-on: self-hosted-ci
34 outputs:
35 matrix: ${{ steps.create_matrix.outputs.matrix }}
36
37 steps:
38
39 - name: Clean Workspace
40 uses: AutoModality/action-clean@v1.1.0
41
42 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
43 - uses: actions/checkout@v3
44 with:
45 ref: ${{ github.head_ref }} #Checking out head commit
46
47 - name: Read .env file
48 uses: xom9ikk/dotenv@v1.0.2
49
50 - name: Create Execution matrix
51 uses: CertainLach/create-matrix-action@v3
52 id: create_matrix
53 with:
54 matrix: |
55 network {opal}, runtime {opal}, features {opal-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}, fork_from_address {${{ env.OPAL_FORK_FROM }}}
56 network {quartz}, runtime {quartz}, features {quartz-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}, fork_from_address {${{ env.QUARTZ_FORK_FROM }}}
57 network {unique}, runtime {unique}, features {unique-runtime}, mainnet_branch {${{ env.UNIQUE_MAINNET_TAG }}}, fork_from_address {${{ env.UNIQUE_FORK_FROM }}}
58
59
2860
29 forkless-update-data:61 forkless-update-data:
62 needs: prepare-execution-marix
30 # The type of runner that the job will run on63 # The type of runner that the job will run on
31 runs-on: [self-hosted-ci,large]64 runs-on: [self-hosted-ci,large]
32 timeout-minutes: 138065 timeout-minutes: 1380
3772
38 strategy:73 strategy:
39 matrix:74 matrix:
40 include:75 include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}
41 - network: opal76
42 features: opal-runtime
43 runtime: opal
44 fork_from_address: wss://eu-ws-opal.unique.network:443
45 - network: quartz
46 features: quartz-runtime
47 runtime: quartz
48 fork_from_address: wss://eu-ws-quartz.unique.network:443
49 - network: unique
50 features: unique-runtime
51 runtime: unique
52 fork_from_address: wss://eu-ws.unique.network:443
5377
54 steps:78 steps:
55 - name: Skip if pull request is in Draft79 - name: Skip if pull request is in Draft
86 with:110 with:
87 template: .docker/docker-compose.tmp-forkless-data.j2111 template: .docker/docker-compose.tmp-forkless-data.j2
88 output_file: .docker/docker-compose.${{ matrix.network }}.yml112 output_file: .docker/docker-compose.${{ matrix.network }}.yml
89 variables: |113 variables: |
90 REPO_URL=${{ github.server_url }}/${{ github.repository }}.git114 REPO_URL=${{ github.server_url }}/${{ github.repository }}.git
91 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}115 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
92 POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}116 POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}
93 POLKADOT_MAINNET_BRANCH=${{ env.POLKADOT_MAINNET_BRANCH }}117 POLKADOT_MAINNET_BRANCH=${{ env.POLKADOT_MAINNET_BRANCH }}
94 FEATURE=${{ matrix.features }}118 MAINNET_TAG=${{ matrix.mainnet_tag }}
119 MAINNET_BRANCH=${{ matrix.mainnet_branch }}
120 FEATURE=${{ matrix.features }}
95 RUNTIME=${{ matrix.runtime }}121 RUNTIME=${{ matrix.runtime }}
96 BRANCH=${{ github.head_ref }}122 BRANCH=${{ github.head_ref }}
97 FORK_FROM=${{ matrix.fork_from_address }}123 FORK_FROM=${{ matrix.fork_from_address }}
98124
99 - name: Show build configuration125 - name: Show build configuration
100 run: cat .docker/docker-compose.${{ matrix.network }}.yml126 run: cat .docker/docker-compose.${{ matrix.network }}.yml
117143
118 - name: Check if docker logs consist logs related to Runtime Upgrade testing.144 - name: Check if docker logs consist logs related to Runtime Upgrade testing.
119 if: success()145 if: success()
120 run: |146 run: |
121 counter=160147 counter=160
122 function do_docker_logs {148 function check_container_status {
123 docker logs --details parachain-fork 2>&1149 docker inspect -f {{.State.Running}} node-parachain
124 }150 }
125 function is_started {151 function do_docker_logs {
126 echo "Check Docker logs"152 docker logs --details node-parachain 2>&1
127 DOCKER_LOGS=$(do_docker_logs)153 }
128 if [[ ${DOCKER_LOGS} = *"🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"* ]];then154 function is_started {
129 echo "🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"155 if [ "$(check_container_status)" == "true" ]; then
130 return 0156 echo "Container: node-parachain RUNNING";
131 exit 0157 echo "Check Docker logs"
132 fi158 DOCKER_LOGS=$(do_docker_logs)
133 echo "Function is_started: Return 1"159 if [[ ${DOCKER_LOGS} = *"🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"* ]];then
134 return 1160 echo "🛸 PARACHAINS' RUNTIME UPGRADE TESTING COMPLETE 🛸"
135 }161 return 0
136 while ! is_started; do162 elif [[ ${DOCKER_LOGS} = *"🚧 PARACHAINS' RUNTIME UPGRADE TESTING FAILED 🚧"* ]];then
137 echo "Waiting for special message in log files "163 echo "🚧 PARACHAINS' RUNTIME UPGRADE TESTING FAILED 🚧"
138 sleep 30s164 return 1
139 counter=$(( $counter - 1 ))165 else
140 echo "Counter: $counter"166 echo "Message not found in logs output, repeating..."
141 if [ "$counter" -gt "0" ]; then167 return 1
142 continue168 fi
143 else169 else
144 break170 echo "Container node-parachain not RUNNING"
145 fi171 echo "Halting all future checks"
146 done172 exit 1
147 exit 1173 fi
174 exit 0
175 }
176 while ! is_started; do
177 echo "Waiting for special message in log files "
178 sleep 30s
179 counter=$(( $counter - 1 ))
180 echo "Counter: $counter"
181 if [ "$counter" -gt "0" ]; then
182 continue
183 else
184 break
185 fi
186 done
187 echo "Halting script"
188 exit 0
148 shell: bash189 shell: bash
149190
150 - name: Collect Docker Logs191 - name: Collect Docker Logs