difftreelog
xcm testnet workflow
in: master
4 files changed
.docker/Dockerfile-testnet.j2diffbeforeafterbothno changes
.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
.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
.github/workflows/xcm-testnet.ymldiffbeforeafterboth--- a/.github/workflows/xcm-testnet.yml
+++ b/.github/workflows/xcm-testnet.yml
@@ -1,4 +1,4 @@
-name: upgrade nodata
+name: xcm testnet
# Controls when the action will run.
on:
@@ -30,7 +30,7 @@
name: Prepare execution matrix
- runs-on: XL
+ runs-on: XL2
outputs:
matrix: ${{ steps.create_matrix.outputs.matrix }}
@@ -59,7 +59,7 @@
xcm-build:
needs: prepare-execution-marix
# The type of runner that the job will run on
- runs-on: [XL]
+ runs-on: [XL2]
timeout-minutes: 600
@@ -73,7 +73,7 @@
steps:
- - name: Skip if pull request is in Draft
+ #- name: Skip if pull request is in Draft
# `if: github.event.pull_request.draft == true` should be kept here, at
# the step level, rather than at the job level. The latter is not
# recommended because when the PR is moved from "Draft" to "Ready to
@@ -88,8 +88,8 @@
# 4. Move it to "Ready for review"; now the workflow is passing (it was
# skipped) and "Check reviews" is also passing (it won't be updated
# until the workflow is finished)
- if: github.event.pull_request.draft == true
- run: exit 1
+ # if: github.event.pull_request.draft == true
+ #run: exit 1
- name: Clean Workspace
uses: AutoModality/action-clean@v1.1.0
@@ -102,18 +102,16 @@
- name: Read .env file
uses: xom9ikk/dotenv@v1.0.2
- - name: Generate ENV related extend file for docker-compose
+ - name: Generate ENV related extend Dockerfile file
uses: cuchi/jinja2-action@v1.2.0
with:
- template: .docker/docker-compose.tmp-xcm.j2
- output_file: .docker/docker-compose-xcm.${{ matrix.network }}.yml
+ template: .docker/Dockerfile-xcm.j2
+ output_file: .docker/Dockerfile-xcm.${{ matrix.network }}.yml
variables: |
- REPO_URL=${{ github.server_url }}/${{ github.repository }}.git
RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
NETWORK=${{ matrix.network }}
POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}
POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}
- MAINNET_BRANCH=${{ matrix.mainnet_branch }}
FEATURE=${{ matrix.features }}
RUNTIME=${{ matrix.runtime }}
BRANCH=${{ github.head_ref }}
@@ -121,14 +119,14 @@
MOONBEAM_BUILD_BRANCH=${{ env.MOONBEAM_BUILD_BRANCH }}
CUMULUS_BUILD_BRANCH=${{ env.CUMULUS_BUILD_BRANCH }}
- - name: Show build configuration
- run: cat .docker/docker-compose-xcm.${{ matrix.network }}.yml
+ - name: Show build Dockerfile
+ run: cat .docker/Dockerfile-xcm.${{ matrix.network }}.yml
- name: Show launch-config-xcm-${{ matrix.network }} configuration
run: cat .docker/xcm-config/launch-config-xcm-${{ matrix.network }}.json
- name: Build the stack
- run: docker-compose -f ".docker/docker-compose-xcm.yml" -f ".docker/docker-compose-xcm.${{ matrix.network }}.yml" up -d --build
+ 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 .
- name: Collect Docker Logs
if: success() || failure()
@@ -141,114 +139,14 @@
if: success() || failure()
run: cat './xcm-build-logs.${{ matrix.features }}/xcm-nodes-${{ matrix.network }}.log'
- - name: Stop running containers
- if: always() # run this step always
- run: docker-compose -f ".docker/docker-compose-xcm.yml" -f ".docker/docker-compose-xcm.${{ matrix.network }}.yml" down
-
- name: Log in to Docker Hub
- uses: docker/login-action
+ uses: docker/login-action@v2.0.0
with:
username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}
password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}
- - name: Tag docker image
- run: docker tag xcm_nodes_${{ matrix.network }} uniquenetwork/xcm-${{ matrix.network }}-testnet-local:nightly-${{ github.head_ref }}-${{ github.sha }}
-
- - name: Push docker image
+ - name: Push docker version image
run: docker push uniquenetwork/xcm-${{ matrix.network }}-testnet-local:nightly-${{ github.head_ref }}-${{ github.sha }}
- testnet-build:
- needs: prepare-execution-marix
- # The type of runner that the job will run on
- runs-on: [XL]
-
- timeout-minutes: 600
-
- name: ${{ matrix.network }}
-
- 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.
-
- strategy:
- matrix:
- include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}}
-
- steps:
- - name: Skip if pull request is in Draft
- # `if: github.event.pull_request.draft == true` should be kept here, at
- # the step level, rather than at the job level. The latter is not
- # recommended because when the PR is moved from "Draft" to "Ready to
- # review" the workflow will immediately be passing (since it was skipped),
- # even though it hasn't actually ran, since it takes a few seconds for
- # the workflow to start. This is also disclosed in:
- # https://github.community/t/dont-run-actions-on-draft-pull-requests/16817/17
- # That scenario would open an opportunity for the check to be bypassed:
- # 1. Get your PR approved
- # 2. Move it to Draft
- # 3. Push whatever commits you want
- # 4. Move it to "Ready for review"; now the workflow is passing (it was
- # skipped) and "Check reviews" is also passing (it won't be updated
- # until the workflow is finished)
- if: github.event.pull_request.draft == true
- run: exit 1
-
- - name: Clean Workspace
- uses: AutoModality/action-clean@v1.1.0
-
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
- with:
- ref: ${{ github.head_ref }} #Checking out head commit
-
- - name: Read .env file
- uses: xom9ikk/dotenv@v1.0.2
-
- - name: Generate ENV related extend file for docker-compose
- uses: cuchi/jinja2-action@v1.2.0
- with:
- template: .docker/docker-compose.tmp-testnet.j2
- output_file: .docker/docker-compose-testnet.${{ matrix.network }}.yml
- variables: |
- REPO_URL=${{ github.server_url }}/${{ github.repository }}.git
- RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
- NETWORK=${{ matrix.network }}
- POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }}
- POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}
- MAINNET_BRANCH=${{ matrix.mainnet_branch }}
- FEATURE=${{ matrix.features }}
- RUNTIME=${{ matrix.runtime }}
- BRANCH=${{ github.head_ref }}
-
- - name: Show build configuration
- run: cat .docker/docker-compose-testnet.${{ matrix.network }}.yml
-
- - name: Build the stack
- run: docker-compose -f ".docker/docker-compose-testnet.yml" -f ".docker/docker-compose-testnet.${{ matrix.network }}.yml" up -d --build
-
- - name: Collect Docker Logs
- if: success() || failure()
- uses: jwalton/gh-docker-logs@v2.2.0
- with:
- dest: './testnet-build-logs.${{ matrix.features }}'
- images: 'testnet_node_${{ matrix.network }}'
-
- - name: Show docker logs
- if: success() || failure()
- run: cat './testnet-build-logs.${{ matrix.features }}/testnet_node_${{ matrix.network }}.log'
-
- - name: Stop running containers
- if: always() # run this step always
- run: docker-compose -f ".docker/docker-compose-testnet.yml" -f ".docker/docker-compose-testnet.${{ matrix.network }}.yml" down
-
- - name: Log in to Docker Hub
- uses: docker/login-action
- with:
- username: ${{ secrets.CORE_DOCKERHUB_USERNAME }}
- password: ${{ secrets.CORE_DOCKERHUB_TOKEN }}
-
- - name: Tag docker image
- run: docker tag testnet_node_${{ matrix.network }} uniquenetwork/${{ matrix.network }}-testnet-local:nightly-${{ github.head_ref }}-${{ github.sha }}
-
- - name: Push docker image
- run: docker push uniquenetwork/${{ matrix.network }}-testnet-local:nightly-${{ github.head_ref }}-${{ github.sha }}
-
-
+ - name: Push docker image latest
+ run: docker push uniquenetwork/xcm-${{ matrix.network }}-testnet-local:latest