git.delta.rocks / unique-network / refs/commits / eab52559897a

difftreelog

xcm testnet workflow

Konstantin Astakhov2022-08-29parent: #547bb74.patch.diff
in: master

4 files changed

added.docker/Dockerfile-testnet.j2diffbeforeafterboth
--- /dev/null
+++ b/.docker/Dockerfile-testnet.j2
@@ -0,0 +1,96 @@
+# ===== Rust builder =====
+FROM ubuntu:20.04 as rust-builder
+LABEL maintainer="Unique.Network"
+
+#ARG RUST_TOOLCHAIN=
+
+#ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN
+ENV CARGO_HOME="/cargo-home"
+ENV PATH="/cargo-home/bin:$PATH"
+ENV TZ=UTC
+RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
+
+RUN apt-get update && \
+    apt-get install -y curl cmake pkg-config libssl-dev git clang llvm libudev-dev && \
+    apt-get clean && \
+    rm -r /var/lib/apt/lists/*
+
+RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none
+
+RUN rustup toolchain uninstall $(rustup toolchain list) && \
+    rustup toolchain install {{ RUST_TOOLCHAIN }} && \
+    rustup default {{ RUST_TOOLCHAIN }} && \
+    rustup target list --installed && \
+    rustup show
+RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}
+
+RUN mkdir /unique_parachain
+WORKDIR /unique_parachain
+
+
+# ===== BUILD ======
+FROM rust-builder as builder-unique
+
+ARG PROFILE=release
+#ARG FEATURE=
+#ARG BRANCH=
+
+
+WORKDIR /unique_parachain
+
+RUN git clone -b {{ BRANCH }} https://github.com/UniqueNetwork/unique-chain.git && \
+    cd unique-chain && \
+    cargo build --features={{ FEATURE }} --$PROFILE
+
+# ===== BUILD POLKADOT =====
+FROM rust-builder as builder-polkadot
+
+#ARG POLKADOT_BUILD_BRANCH=
+#ENV POLKADOT_BUILD_BRANCH $POLKADOT_BUILD_BRANCH
+
+
+WORKDIR /unique_parachain
+
+RUN git clone -b {{ POLKADOT_BUILD_BRANCH }} --depth 1 https://github.com/paritytech/polkadot.git && \
+    cd polkadot && \
+    cargo build --release
+
+# ===== RUN ======
+
+FROM ubuntu:20.04
+
+#ARG POLKADOT_LAUNCH_BRANCH=
+#ENV POLKADOT_LAUNCH_BRANCH $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
+
+RUN git clone https://github.com/uniquenetwork/polkadot-launch -b {{ POLKADOT_LAUNCH_BRANCH }}
+
+RUN export NVM_DIR="$HOME/.nvm" && \
+    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+    cd /polkadot-launch && \
+    npm install --global yarn && \
+    yarn install
+
+COPY --from=builder-unique /unique_parachain/unique-chain/target/release/unique-collator /unique-chain/target/release/
+COPY --from=builder-polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/
+
+EXPOSE 9844
+EXPOSE 9944
+EXPOSE 9933
+EXPOSE 9833
+EXPOSE 40333
+EXPOSE 30333
+
+CMD export NVM_DIR="$HOME/.nvm" && \
+    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+    cd /polkadot-launch && \
+    yarn start launch-config.json
+
+
deleted.docker/Dockerfile-xcm-2diffbeforeafterboth
--- a/.docker/Dockerfile-xcm-2
+++ /dev/null
@@ -1,150 +0,0 @@
-# ===== Rust builder =====
-FROM ubuntu:20.04 as rust-builder
-LABEL maintainer="Unique.Network"
-
-#ARG RUST_TOOLCHAIN=
-
-#ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN
-ENV CARGO_HOME="/cargo-home"
-ENV PATH="/cargo-home/bin:$PATH"
-ENV TZ=UTC
-RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
-
-RUN apt-get update && \
-    apt-get install -y curl cmake pkg-config libssl-dev git clang llvm libudev-dev && \
-    apt-get clean && \
-    rm -r /var/lib/apt/lists/*
-
-RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none
-
-RUN rustup toolchain uninstall $(rustup toolchain list) && \
-    rustup toolchain install {{ RUST_TOOLCHAIN }} && \
-    rustup default {{ RUST_TOOLCHAIN }} && \
-    rustup target list --installed && \
-    rustup show
-RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}
-
-RUN mkdir /unique_parachain
-WORKDIR /unique_parachain
-
-
-# ===== BUILD ======
-FROM rust-builder as builder-unique
-
-ARG PROFILE=release
-#ARG FEATURE=
-#ARG BRANCH=
-
-WORKDIR /unique_parachain
-
-COPY ./xcm-config/launch-config-xcm-{{ NETWORK }}.json ./launch-config-xcm-{{ NETWORK }}.json
-COPY ./xcm-config/5validators.jsonnet ./5validators.jsonnet
-
-RUN git clone -b {{ BRANCH }} https://github.com/UniqueNetwork/unique-chain.git && \
-    cd unique-chain && \
-    cargo build --features={{ FEATURE }} --$PROFILE
-
-# ===== BUILD POLKADOT =====
-FROM rust-builder as builder-polkadot
-
-#ARG POLKADOT_BUILD_BRANCH=
-#ENV POLKADOT_BUILD_BRANCH $POLKADOT_BUILD_BRANCH
-
-
-WORKDIR /unique_parachain
-
-RUN git clone -b {{ POLKADOT_BUILD_BRANCH }} --depth 1 https://github.com/paritytech/polkadot.git && \
-    cd polkadot && \
-    cargo build --release
-
-# ===== BUILD ACALA =====
-FROM rust-builder as builder-acala
-
-#ARG ACALA_BUILD_BRANCH=
-#ENV ACALA_BUILD_BRANCH $ACALA_BUILD_BRANCH
-
-
-WORKDIR /unique_parachain
-
-RUN git clone -b {{ ACALA_BUILD_BRANCH }} --depth 1 https://github.com/AcalaNetwork/Acala.git && \
-    cd Acala && \
-    make init && \
-    make build-release
-
-# ===== BUILD MOONBEAM =====
-FROM rust-builder as builder-moonbeam
-
-#ARG MOONBEAM_BUILD_BRANCH=
-#ENV MOONBEAM_BUILD_BRANCH $MOONBEAM_BUILD_BRANCH
-
-
-WORKDIR /unique_parachain
-
-RUN git clone -b {{ MOONBEAM_BUILD_BRANCH }} --depth 1 https://github.com/PureStake/moonbeam.git && \
-    cd moonbeam && \
-    cargo build --release
-
-# ===== BUILD CUMULUS =====
-FROM rust-builder as builder-cumulus
-
-#ARG CUMULUS_BUILD_BRANCH=
-#ENV CUMULUS_BUILD_BRANCH $CUMULUS_BUILD_BRANCH
-
-
-WORKDIR /unique_parachain
-
-RUN git clone -b {{ CUMULUS_BUILD_BRANCH }} --depth 1 https://github.com/paritytech/cumulus.git && \
-    cd cumulus && \
-    cargo build --release
-
-# ===== BUILD CHAINQL =====
-FROM rust-builder as builder-chainql
-
-RUN mkdir chainql
-WORKDIR /chainql
-
-RUN git clone -b v0.1.0 --depth 1 https://github.com/CertainLach/chainql.git . && \
-    cargo build --release
-
-# ===== RUN ======
-
-FROM ubuntu:20.04
-
-#ARG POLKADOT_LAUNCH_BRANCH=
-#ENV POLKADOT_LAUNCH_BRANCH $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
-
-RUN git clone https://github.com/uniquenetwork/polkadot-launch -b {{ POLKADOT_LAUNCH_BRANCH }}
-
-RUN export NVM_DIR="$HOME/.nvm" && \
-    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
-    cd /polkadot-launch && \
-    npm install --global yarn && \
-    yarn install
-
-COPY --from=builder-unique /unique_parachain/unique-chain/target/release/unique-collator /unique-chain/target/release/
-COPY --from=builder-unique /unique_parachain/launch-config-xcm-{{ NETWORK }}.json /polkadot-launch/
-COPY --from=builder-unique /unique_parachain/5validators.jsonnet /polkadot-launch/5validators.jsonnet
-COPY --from=builder-polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/
-COPY --from=builder-moonbeam /unique_parachain/moonbeam/target/release/moonbeam /moonbeam/target/release/
-COPY --from=builder-cumulus /unique_parachain/cumulus/target/release/polkadot-parachain /cumulus/target/release/cumulus
-COPY --from=builder-acala /unique_parachain/Acala/target/production/acala /acala/target/release/
-COPY --from=builder-chainql /chainql/target/release/chainql /chainql/target/release/
-
-EXPOSE 9844
-EXPOSE 9944
-EXPOSE 9946
-EXPOSE 9947
-EXPOSE 9948
-
-CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" && \
-    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
-    cd /polkadot-launch && \
-    yarn start launch-config-xcm-{{ NETWORK }}.json
added.docker/Dockerfile-xcm.j2diffbeforeafterboth
--- /dev/null
+++ b/.docker/Dockerfile-xcm.j2
@@ -0,0 +1,150 @@
+# ===== Rust builder =====
+FROM ubuntu:20.04 as rust-builder
+LABEL maintainer="Unique.Network"
+
+#ARG RUST_TOOLCHAIN=
+
+#ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN
+ENV CARGO_HOME="/cargo-home"
+ENV PATH="/cargo-home/bin:$PATH"
+ENV TZ=UTC
+RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
+
+RUN apt-get update && \
+    apt-get install -y curl cmake pkg-config libssl-dev git clang llvm libudev-dev && \
+    apt-get clean && \
+    rm -r /var/lib/apt/lists/*
+
+RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none
+
+RUN rustup toolchain uninstall $(rustup toolchain list) && \
+    rustup toolchain install {{ RUST_TOOLCHAIN }} && \
+    rustup default {{ RUST_TOOLCHAIN }} && \
+    rustup target list --installed && \
+    rustup show
+RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}
+
+RUN mkdir /unique_parachain
+WORKDIR /unique_parachain
+
+
+# ===== BUILD ======
+FROM rust-builder as builder-unique
+
+ARG PROFILE=release
+#ARG FEATURE=
+#ARG BRANCH=
+
+WORKDIR /unique_parachain
+
+COPY ./xcm-config/launch-config-xcm-{{ NETWORK }}.json ./launch-config-xcm-{{ NETWORK }}.json
+COPY ./xcm-config/5validators.jsonnet ./5validators.jsonnet
+
+RUN git clone -b {{ BRANCH }} https://github.com/UniqueNetwork/unique-chain.git && \
+    cd unique-chain && \
+    cargo build --features={{ FEATURE }} --$PROFILE
+
+# ===== BUILD POLKADOT =====
+FROM rust-builder as builder-polkadot
+
+#ARG POLKADOT_BUILD_BRANCH=
+#ENV POLKADOT_BUILD_BRANCH $POLKADOT_BUILD_BRANCH
+
+
+WORKDIR /unique_parachain
+
+RUN git clone -b {{ POLKADOT_BUILD_BRANCH }} --depth 1 https://github.com/paritytech/polkadot.git && \
+    cd polkadot && \
+    cargo build --release
+
+# ===== BUILD ACALA =====
+FROM rust-builder as builder-acala
+
+#ARG ACALA_BUILD_BRANCH=
+#ENV ACALA_BUILD_BRANCH $ACALA_BUILD_BRANCH
+
+
+WORKDIR /unique_parachain
+
+RUN git clone -b {{ ACALA_BUILD_BRANCH }} --depth 1 https://github.com/AcalaNetwork/Acala.git && \
+    cd Acala && \
+    make init && \
+    make build-release
+
+# ===== BUILD MOONBEAM =====
+FROM rust-builder as builder-moonbeam
+
+#ARG MOONBEAM_BUILD_BRANCH=
+#ENV MOONBEAM_BUILD_BRANCH $MOONBEAM_BUILD_BRANCH
+
+
+WORKDIR /unique_parachain
+
+RUN git clone -b {{ MOONBEAM_BUILD_BRANCH }} --depth 1 https://github.com/PureStake/moonbeam.git && \
+    cd moonbeam && \
+    cargo build --release
+
+# ===== BUILD CUMULUS =====
+FROM rust-builder as builder-cumulus
+
+#ARG CUMULUS_BUILD_BRANCH=
+#ENV CUMULUS_BUILD_BRANCH $CUMULUS_BUILD_BRANCH
+
+
+WORKDIR /unique_parachain
+
+RUN git clone -b {{ CUMULUS_BUILD_BRANCH }} --depth 1 https://github.com/paritytech/cumulus.git && \
+    cd cumulus && \
+    cargo build --release
+
+# ===== BUILD CHAINQL =====
+FROM rust-builder as builder-chainql
+
+RUN mkdir chainql
+WORKDIR /chainql
+
+RUN git clone -b v0.1.0 --depth 1 https://github.com/CertainLach/chainql.git . && \
+    cargo build --release
+
+# ===== RUN ======
+
+FROM ubuntu:20.04
+
+#ARG POLKADOT_LAUNCH_BRANCH=
+#ENV POLKADOT_LAUNCH_BRANCH $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
+
+RUN git clone https://github.com/uniquenetwork/polkadot-launch -b {{ POLKADOT_LAUNCH_BRANCH }}
+
+RUN export NVM_DIR="$HOME/.nvm" && \
+    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+    cd /polkadot-launch && \
+    npm install --global yarn && \
+    yarn install
+
+COPY --from=builder-unique /unique_parachain/unique-chain/target/release/unique-collator /unique-chain/target/release/
+COPY --from=builder-unique /unique_parachain/launch-config-xcm-{{ NETWORK }}.json /polkadot-launch/
+COPY --from=builder-unique /unique_parachain/5validators.jsonnet /polkadot-launch/5validators.jsonnet
+COPY --from=builder-polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/
+COPY --from=builder-moonbeam /unique_parachain/moonbeam/target/release/moonbeam /moonbeam/target/release/
+COPY --from=builder-cumulus /unique_parachain/cumulus/target/release/polkadot-parachain /cumulus/target/release/cumulus
+COPY --from=builder-acala /unique_parachain/Acala/target/production/acala /acala/target/release/
+COPY --from=builder-chainql /chainql/target/release/chainql /chainql/target/release/
+
+EXPOSE 9844
+EXPOSE 9944
+EXPOSE 9946
+EXPOSE 9947
+EXPOSE 9948
+
+CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" && \
+    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
+    cd /polkadot-launch && \
+    yarn start launch-config-xcm-{{ NETWORK }}.json
modified.github/workflows/xcm-testnet.ymldiffbeforeafterboth
1name: upgrade nodata1name: xcm testnet
22
3# Controls when the action will run.3# Controls when the action will run.
4on:4on:
3030
31 name: Prepare execution matrix31 name: Prepare execution matrix
3232
33 runs-on: XL33 runs-on: XL2
34 outputs:34 outputs:
35 matrix: ${{ steps.create_matrix.outputs.matrix }}35 matrix: ${{ steps.create_matrix.outputs.matrix }}
3636
59 xcm-build:59 xcm-build:
60 needs: prepare-execution-marix60 needs: prepare-execution-marix
61 # The type of runner that the job will run on61 # The type of runner that the job will run on
62 runs-on: [XL]62 runs-on: [XL2]
6363
64 timeout-minutes: 60064 timeout-minutes: 600
6565
7373
7474
75 steps:75 steps:
76 - name: Skip if pull request is in Draft76 #- name: Skip if pull request is in Draft
77 # `if: github.event.pull_request.draft == true` should be kept here, at77 # `if: github.event.pull_request.draft == true` should be kept here, at
78 # the step level, rather than at the job level. The latter is not78 # the step level, rather than at the job level. The latter is not
79 # recommended because when the PR is moved from "Draft" to "Ready to79 # recommended because when the PR is moved from "Draft" to "Ready to
88 # 4. Move it to "Ready for review"; now the workflow is passing (it was88 # 4. Move it to "Ready for review"; now the workflow is passing (it was
89 # skipped) and "Check reviews" is also passing (it won't be updated89 # skipped) and "Check reviews" is also passing (it won't be updated
90 # until the workflow is finished)90 # until the workflow is finished)
91 if: github.event.pull_request.draft == true91 # if: github.event.pull_request.draft == true
92 run: exit 192 #run: exit 1
9393
94 - name: Clean Workspace94 - name: Clean Workspace
95 uses: AutoModality/action-clean@v1.1.095 uses: AutoModality/action-clean@v1.1.0
102 - name: Read .env file102 - name: Read .env file
103 uses: xom9ikk/dotenv@v1.0.2103 uses: xom9ikk/dotenv@v1.0.2
104104
105 - name: Generate ENV related extend file for docker-compose105 - name: Generate ENV related extend Dockerfile file
106 uses: cuchi/jinja2-action@v1.2.0106 uses: cuchi/jinja2-action@v1.2.0
107 with:107 with:
108 template: .docker/docker-compose.tmp-xcm.j2108 template: .docker/Dockerfile-xcm.j2
109 output_file: .docker/docker-compose-xcm.${{ matrix.network }}.yml109 output_file: .docker/Dockerfile-xcm.${{ matrix.network }}.yml
110 variables: |110 variables: |
111 REPO_URL=${{ github.server_url }}/${{ github.repository }}.git111 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
112 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}112 NETWORK=${{ matrix.network }}
113 NETWORK=${{ matrix.network }}113 POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}
114 POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}114 POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}
115 POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}
116 MAINNET_BRANCH=${{ matrix.mainnet_branch }}115 FEATURE=${{ matrix.features }}
117 FEATURE=${{ matrix.features }}116 RUNTIME=${{ matrix.runtime }}
118 RUNTIME=${{ matrix.runtime }}117 BRANCH=${{ github.head_ref }}
119 BRANCH=${{ github.head_ref }}118 ACALA_BUILD_BRANCH=${{ env.ACALA_BUILD_BRANCH }}
120 ACALA_BUILD_BRANCH=${{ env.ACALA_BUILD_BRANCH }}119 MOONBEAM_BUILD_BRANCH=${{ env.MOONBEAM_BUILD_BRANCH }}
121 MOONBEAM_BUILD_BRANCH=${{ env.MOONBEAM_BUILD_BRANCH }}120 CUMULUS_BUILD_BRANCH=${{ env.CUMULUS_BUILD_BRANCH }}
122 CUMULUS_BUILD_BRANCH=${{ env.CUMULUS_BUILD_BRANCH }}
123121
124 - name: Show build configuration122 - name: Show build Dockerfile
125 run: cat .docker/docker-compose-xcm.${{ matrix.network }}.yml123 run: cat .docker/Dockerfile-xcm.${{ matrix.network }}.yml
126124
127 - name: Show launch-config-xcm-${{ matrix.network }} configuration125 - name: Show launch-config-xcm-${{ matrix.network }} configuration
128 run: cat .docker/xcm-config/launch-config-xcm-${{ matrix.network }}.json126 run: cat .docker/xcm-config/launch-config-xcm-${{ matrix.network }}.json
129127
130 - name: Build the stack128 - name: Build the stack
131 run: docker-compose -f ".docker/docker-compose-xcm.yml" -f ".docker/docker-compose-xcm.${{ matrix.network }}.yml" up -d --build129 run: cd .docker/ && docker build --file ./Dockerfile-xcm.${{ matrix.network }}.yml --tag xcm-nodes-${{ matrix.network }} --tag uniquenetwork/xcm-${{ matrix.network }}-testnet-local:nightly-${{ github.head_ref }}-${{ github.sha }} --tag uniquenetwork/xcm-${{ matrix.network }}-testnet-local:latest .
132130
133 - name: Collect Docker Logs131 - name: Collect Docker Logs
134 if: success() || failure()132 if: success() || failure()
141 if: success() || failure()139 if: success() || failure()
142 run: cat './xcm-build-logs.${{ matrix.features }}/xcm-nodes-${{ matrix.network }}.log'140 run: cat './xcm-build-logs.${{ matrix.features }}/xcm-nodes-${{ matrix.network }}.log'
143
144 - name: Stop running containers
145 if: always() # run this step always
146 run: docker-compose -f ".docker/docker-compose-xcm.yml" -f ".docker/docker-compose-xcm.${{ matrix.network }}.yml" down
147141
148 - name: Log in to Docker Hub142 - name: Log in to Docker Hub
149 uses: docker/login-action143 uses: docker/login-action@v2.0.0
150 with:144 with:
151 username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}145 username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}
152 password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}146 password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}
153147
154 - name: Tag docker image148 - name: Push docker version image
155 run: docker tag xcm_nodes_${{ matrix.network }} uniquenetwork/xcm-${{ matrix.network }}-testnet-local:nightly-${{ github.head_ref }}-${{ github.sha }}149 run: docker push uniquenetwork/xcm-${{ matrix.network }}-testnet-local:nightly-${{ github.head_ref }}-${{ github.sha }}
156150
157 - name: Push docker image151 - name: Push docker image latest
158 run: docker push uniquenetwork/xcm-${{ matrix.network }}-testnet-local:nightly-${{ github.head_ref }}-${{ github.sha }}152 run: docker push uniquenetwork/xcm-${{ matrix.network }}-testnet-local:latest
159
160 testnet-build:
161 needs: prepare-execution-marix
162 # The type of runner that the job will run on
163 runs-on: [XL]
164
165 timeout-minutes: 600
166
167 name: ${{ matrix.network }}
168
169 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.
170
171 strategy:
172 matrix:
173 include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}
174
175 steps:
176 - name: Skip if pull request is in Draft
177 # `if: github.event.pull_request.draft == true` should be kept here, at
178 # the step level, rather than at the job level. The latter is not
179 # recommended because when the PR is moved from "Draft" to "Ready to
180 # review" the workflow will immediately be passing (since it was skipped),
181 # even though it hasn't actually ran, since it takes a few seconds for
182 # the workflow to start. This is also disclosed in:
183 # https://github.community/t/dont-run-actions-on-draft-pull-requests/16817/17
184 # That scenario would open an opportunity for the check to be bypassed:
185 # 1. Get your PR approved
186 # 2. Move it to Draft
187 # 3. Push whatever commits you want
188 # 4. Move it to "Ready for review"; now the workflow is passing (it was
189 # skipped) and "Check reviews" is also passing (it won't be updated
190 # until the workflow is finished)
191 if: github.event.pull_request.draft == true
192 run: exit 1
193
194 - name: Clean Workspace
195 uses: AutoModality/action-clean@v1.1.0
196
197 # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
198 - uses: actions/checkout@v3
199 with:
200 ref: ${{ github.head_ref }} #Checking out head commit
201
202 - name: Read .env file
203 uses: xom9ikk/dotenv@v1.0.2
204
205 - name: Generate ENV related extend file for docker-compose
206 uses: cuchi/jinja2-action@v1.2.0
207 with:
208 template: .docker/docker-compose.tmp-testnet.j2
209 output_file: .docker/docker-compose-testnet.${{ matrix.network }}.yml
210 variables: |
211 REPO_URL=${{ github.server_url }}/${{ github.repository }}.git
212 RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
213 NETWORK=${{ matrix.network }}
214 POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}
215 POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}
216 MAINNET_BRANCH=${{ matrix.mainnet_branch }}
217 FEATURE=${{ matrix.features }}
218 RUNTIME=${{ matrix.runtime }}
219 BRANCH=${{ github.head_ref }}
220
221 - name: Show build configuration
222 run: cat .docker/docker-compose-testnet.${{ matrix.network }}.yml
223
224 - name: Build the stack
225 run: docker-compose -f ".docker/docker-compose-testnet.yml" -f ".docker/docker-compose-testnet.${{ matrix.network }}.yml" up -d --build
226
227 - name: Collect Docker Logs
228 if: success() || failure()
229 uses: jwalton/gh-docker-logs@v2.2.0
230 with:
231 dest: './testnet-build-logs.${{ matrix.features }}'
232 images: 'testnet_node_${{ matrix.network }}'
233
234 - name: Show docker logs
235 if: success() || failure()
236 run: cat './testnet-build-logs.${{ matrix.features }}/testnet_node_${{ matrix.network }}.log'
237
238 - name: Stop running containers
239 if: always() # run this step always
240 run: docker-compose -f ".docker/docker-compose-testnet.yml" -f ".docker/docker-compose-testnet.${{ matrix.network }}.yml" down
241
242 - name: Log in to Docker Hub
243 uses: docker/login-action
244 with:
245 username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}
246 password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}
247
248 - name: Tag docker image
249 run: docker tag testnet_node_${{ matrix.network }} uniquenetwork/${{ matrix.network }}-testnet-local:nightly-${{ github.head_ref }}-${{ github.sha }}
250
251 - name: Push docker image
252 run: docker push uniquenetwork/${{ matrix.network }}-testnet-local:nightly-${{ github.head_ref }}-${{ github.sha }}
253153
254
255