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

difftreelog

Merge pull request #6 from lzadjsf/core-ci-step-2

Alex2022-08-02parents: #c231b03 #fe364df.patch.diff
in: master
Integration test for pull_request on master branch

7 files changed

added.docker/.envdiffbeforeafterboth
--- /dev/null
+++ b/.docker/.env
@@ -0,0 +1,7 @@
+RUST_TOOLCHAIN=nightly-2022-05-11
+RUST_C=1.62.0-nightly
+POLKA_VERSION=release-v0.9.24
+UNIQUE_BRANCH=develop
+FEATURE='--features=quartz-runtime --release'
+USER=***
+PASS=***
modified.docker/Dockerfile-parachaindiffbeforeafterboth
--- a/.docker/Dockerfile-parachain
+++ b/.docker/Dockerfile-parachain
@@ -3,24 +3,11 @@
 LABEL maintainer="Unique.Network"
 
 ARG RUST_TOOLCHAIN=nightly-2022-05-11
-#ARG RUST_C=1.62.0-nightly
 ARG POLKA_VERSION=release-v0.9.24
-ARG UNIQUE_BRANCH=develop
-
-#ARG USER=***
-#ARG PASS=***
 
 
 ENV RUST_TOOLCHAIN $RUST_TOOLCHAIN
-#ENV RUST_C $RUST_C
 ENV POLKA_VERSION $POLKA_VERSION
-ENV UNIQUE_BRANCH $UNIQUE_BRANCH
-
-
-#RUN echo $RUST_TOOLCHAIN
-#RUN echo $RUST_C
-#RUN echo $POLKA_VERSION
-#RUN echo $UNIQUE_BRANCH
 
 ENV CARGO_HOME="/cargo-home"
 ENV PATH="/cargo-home/bin:$PATH"
@@ -37,30 +24,20 @@
     rustup target list --installed && \
     rustup show
 RUN rustup target add wasm32-unknown-unknown --toolchain $RUST_TOOLCHAIN
-
-RUN cargo install cargo-chef
 
-RUN mkdir unique_parachain
-WORKDIR /unique_parachain
-
-# ===== Chef =====
-FROM rust-builder as chef
+####works inside repo folder###
 
-COPY . .
-RUN cargo chef prepare --recipe-path recipe.json
 
 # ===== BUILD ======
-FROM rust-builder as builder
+FROM rust-builder as builder-unique
 
 RUN mkdir unique_parachain
 WORKDIR /unique_parachain
 
-COPY --from=chef /unique_parachain/recipe.json recipe.json
-ARG PROFILE=release
-RUN cargo chef cook "--$PROFILE" --recipe-path recipe.json
+ARG FEATURE='--release'
 
 COPY . .
-RUN cargo build "--$PROFILE"
+RUN cargo build $FEATURE
    # && \
    # cargo test
 
@@ -78,8 +55,6 @@
 # ===== RUN ======
 
 FROM phusion/baseimage:focal-1.1.0
-
-ARG PROFILE=release
 
 RUN apt-get -y update && \
       apt-get -y upgrade && \
@@ -90,7 +65,9 @@
       nvm install v15.5.0 && \
       nvm use v15.5.0
 
-RUN git clone https://github.com/paritytech/polkadot-launch
+RUN git clone https://github.com/UniqueNetwork/polkadot-launch.git && \
+    cd /polkadot-launch && \
+    git checkout feature/runtime-upgrade-testing
 
 RUN export NVM_DIR="$HOME/.nvm" && \
     [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
@@ -98,8 +75,11 @@
     npm install --global yarn && \
     yarn
 
-COPY --from=builder /unique_parachain/target/$PROFILE/unique-collator /unique-chain/target/$PROFILE/
-COPY --from=builder-polkadot /unique_parachain/polkadot/target/$PROFILE/polkadot /polkadot/target/$PROFILE/
+COPY --from=builder-unique /unique_parachain/target/release/unique-collator /unique-chain/target/release/
+COPY --from=builder-polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/
+
+COPY ["./launch-config.json", "/polkadot-launch/launch-config.json"]
+
 
 EXPOSE 9844
 EXPOSE 9944
modified.docker/Dockerfile-parachain-v2diffbeforeafterboth
--- a/.docker/Dockerfile-parachain-v2
+++ b/.docker/Dockerfile-parachain-v2
@@ -34,10 +34,12 @@
 RUN mkdir unique_parachain
 WORKDIR /unique_parachain
 
-ARG PROFILE='features=quartz-runtime --release'
+ARG PROFILE='features=quartz-runtime'
+
+ENV PROFILE $PROFILE
 
 COPY . .
-RUN cargo build --features=quartz-runtime --release
+RUN cargo build --$PROFILE
    # && \
    # cargo test
 
@@ -56,7 +58,6 @@
 
 FROM phusion/baseimage:focal-1.1.0
 
-#ARG PROFILE='--features=quartz-runtime --release'
 
 RUN apt-get -y update && \
       apt-get -y upgrade && \
modified.docker/docker-compose-tests-parachain.ymldiffbeforeafterboth
--- a/.docker/docker-compose-tests-parachain.yml
+++ b/.docker/docker-compose-tests-parachain.yml
@@ -3,26 +3,26 @@
 services:
   blockchain_nodes:
     build:
-      context: ./
-      dockerfile: Dockerfile-parachain
+      context: ../
+      dockerfile: .docker/Dockerfile-parachain
       args:
         - RUST_TOOLCHAIN=${RUST_TOOLCHAIN:?err}
         - RUST_C=${RUST_C:?err}
         - POLKA_VERSION=${POLKA_VERSION:?err}
-        - UNIQUE_BRANCH=${UNIQUE_BRANCH:?err}
+        - FEATURE=${FEATURE:?err}
     volumes:
       - ./launch-config.json:/polkadot-launch/launch-config.json
     env_file:
       - ./.env
 
-  integration_tests:
-    build:
-      context: tests/
-      dockerfile: Dockerfile-tests
-    environment:
-      RPC_URL: http://blockchain_nodes:9933/
-    volumes:
-      - ./tests/src/config_docker.ts:/unique_parachain/src/config.ts
-      - /home/ubuntu/mochawesome-report:/unique_parachain/mochawesome-report
-    depends_on:
-      - blockchain_nodes
+#  integration_tests:
+#    build:
+#      context: tests/
+#      dockerfile: Dockerfile-tests
+#    environment:
+#      RPC_URL: http://blockchain_nodes:9933/
+#    volumes:
+#      - ./tests/src/config_docker.ts:/unique_parachain/src/config.ts
+#      - /home/ubuntu/mochawesome-report:/unique_parachain/mochawesome-report
+#    depends_on:
+#      - blockchain_nodes
added.docker/docker-compose.tmp-master.j2diffbeforeafterboth
--- /dev/null
+++ b/.docker/docker-compose.tmp-master.j2
@@ -0,0 +1,10 @@
+version: "3.5"
+
+services:
+  blockchain_nodes:
+    build:
+      args:
+        - "RUST_TOOLCHAIN={{ RUST_TOOLCHAIN }}"
+        - "BRANCH={{ BRANCH }}"
+        - "REPO_URL={{ REPO_URL }}"
+        - "FEATURE={{ FEATURE }}"
modified.docker/docker-compose.tmp.j2diffbeforeafterboth
--- a/.docker/docker-compose.tmp.j2
+++ b/.docker/docker-compose.tmp.j2
@@ -1,7 +1,7 @@
 version: "3.5"
 
 services:
-  node-o:
+  blockchain_nodes:
     build:
       args:
         - "RUST_TOOLCHAIN={{ RUST_TOOLCHAIN }}"
@@ -10,4 +10,3 @@
         - "FEATURE={{ FEATURE }}"
 
     command: cargo run --release $FEATURE -- --dev -linfo --unsafe-ws-external --rpc-cors=all --unsafe-rpc-external
-    
modified.github/workflows/build-test-master.ymldiffbeforeafterboth
before · .github/workflows/build-test-master.yml
1name: Build & Test Master23# Controls when the action will run.4on:5 # Triggers the workflow on push or pull request events but only for the master branch6  #push:7  #  branches: [ develop ]8  pull_request:9    branches:10      - master11    types:12      - opened13      - edited14      - reopened15  # pull_request:16 #   branches: [ develop ]17  # Allows you to run this workflow manually from the Actions tab18  workflow_dispatch:1920#Define Workflow variables21env:22  ubuntu_version: focal23  chains_release_dir: /opt/runner/chains_release24  opal_chain_workdir: ./src_opal_chain25  quartz_chain_workdir: ./src_quartz_chain26  unique_chain_workdir: ./src_unique_chain27  RUST_TOOLCHAIN: nightly-2022-05-1128  REPO_URL: ${{ github.server_url }}/${{ github.repository }}2930# A workflow run is made up of one or more jobs that can run sequentially or in parallel31jobs:32  pre-requisites:33    # The type of runner that the job will run on34    runs-on: self-hosted-ci3536    steps:37      #runs ssh connection38      - name: Install dependencies39        run: |40          sudo apt-get install git curl libssl-dev llvm pkg-config libclang-dev clang make cmake41          sudo apt autoremove42          curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none43          . $HOME/.cargo/env && cargo install --locked --git https://github.com/chevdor/subwasm44          rustup toolchain install ${{ env.RUST_TOOLCHAIN }}45          rustup default ${{ env.RUST_TOOLCHAIN }}46          rustup target add wasm32-unknown-unknown --toolchain ${{ env.RUST_TOOLCHAIN }}474849  build:50    # The type of runner that the job will run on51    runs-on: self-hosted-ci5253    needs: pre-requisites54    name: Build Container, Spin it Up an test5556    continue-on-error: true         #Do not stop testing of matrix runs failed.5758    strategy:59      matrix:60        include:61          - network: "Opal"62            features: " "63          - network: "Quartz"64            features: "--features=quartz-runtime"65          - network: "Unique"66            features: "--features=unique-runtime"6768    steps:69      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it70      - uses: actions/checkout@v37172      - name: Generate ENV related extend file for docker-compose73        uses: cuchi/jinja2-action@v1.2.074        with:75          template: .docker/docker-compose.tmp.j276          output_file: .docker/docker-compose.${{ matrix.network }}.yml77          variables: |78            REPO_URL=${{ github.server_url }}/${{ github.repository }}.git79            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}80            FEATURE=${{ matrix.features }}81            BRANCH=${{ github.head_ref }}8283      - name: Show temporary file84        run: cat .docker/docker-compose.${{ matrix.network }}.yml8586      - name: Build the stack87        run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build8889#      - name: "Build the Docker image with Feature: ${{ env.features }}"90#        run: docker build -t build-${{ github.head_ref }} --file .docker/Dockerfile-chain-dev --build-arg REPO_URL=${{ github.server_url }}/${{ github.repository }}.git --build-arg RUST_TOOLCHAIN=${{ env.actual_toolchain }} --build-arg FEATURE="${{ env.features }}" --build-arg BRANCH=${{ github.head_ref }} --no-cache .9192      - name: Wait93        run: sleep 420s9495      - name: Install node96        uses: actions/setup-node@v197        with:98          node-version: 14.x99100      - name: Install dependencies101        run: |102          cd tests103          yarn install104          yarn add mochawesome105          yarn --pure-lockfile106107      - name: Run tests108        run: |109          cd tests110          NOW=$(date +%s) && yarn test --reporter mochawesome --reporter-options reportFilename=test-${NOW}111        env:112          RPC_URL: http://127.0.0.1:9933/113114      - name: Test Report115        uses: phoenix-actions/test-reporting@v8116        id: test-report               # Set ID reference for step117        if: success() || failure()    # run this step even if previous step failed118        with:119          name: Tests ${{ matrix.network }}            # Name of the check run which will be created120          path: tests/mochawesome-report/test-*.json    # Path to test results121          reporter: mochawesome-json122          fail-on-error: 'false'123124      - name: Stop running containers125        if: always()                   # run this step always126        run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.${{ matrix.network }}.yml" down
after · .github/workflows/build-test-master.yml
1name: Build & Test Master23# Controls when the action will run.4on:5 # Triggers the workflow on push or pull request events but only for the master branch6  #push:7  #  branches: [ develop ]8  pull_request:9    branches:10      - master11    types:12      - opened13      - edited14      - reopened15  # pull_request:16 #   branches: [ develop ]17  # Allows you to run this workflow manually from the Actions tab18  workflow_dispatch:1920#Define Workflow variables21env:22  ubuntu_version: focal23  chains_release_dir: /opt/runner/chains_release24  opal_chain_workdir: ./src_opal_chain25  quartz_chain_workdir: ./src_quartz_chain26  unique_chain_workdir: ./src_unique_chain27  RUST_TOOLCHAIN: nightly-2022-05-1128  REPO_URL: ${{ github.server_url }}/${{ github.repository }}2930# A workflow run is made up of one or more jobs that can run sequentially or in parallel31jobs:32  pre-requisites:33    # The type of runner that the job will run on34    runs-on: self-hosted-ci3536    steps:37      #runs ssh connection38      - name: Install dependencies39        run: |40          sudo apt-get install git curl libssl-dev llvm pkg-config libclang-dev clang make cmake41          sudo apt autoremove42          curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none43          . $HOME/.cargo/env && cargo install --locked --git https://github.com/chevdor/subwasm44          rustup toolchain install ${{ env.RUST_TOOLCHAIN }}45          rustup default ${{ env.RUST_TOOLCHAIN }}46          rustup target add wasm32-unknown-unknown --toolchain ${{ env.RUST_TOOLCHAIN }}474849  build:50    # The type of runner that the job will run on51    runs-on: self-hosted-ci5253    needs: pre-requisites54    name: Build Container, Spin it Up an test5556    continue-on-error: true         #Do not stop testing of matrix runs failed.5758    strategy:59      matrix:60        include:61          - network: "Opal"62            features: " "63          - network: "Quartz"64            features: "--features=quartz-runtime"65          - network: "Unique"66            features: "--features=unique-runtime"6768    steps:69      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it70      - uses: actions/checkout@v37172      - name: Generate ENV related extend file for docker-compose73        uses: cuchi/jinja2-action@v1.2.074        with:75          template: .docker/docker-compose.tmp-master.j276          output_file: .docker/docker-compose.${{ matrix.network }}.yml77          variables: |78            REPO_URL=${{ github.server_url }}/${{ github.repository }}.git79            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}80            FEATURE=${{ matrix.features }}81            BRANCH=${{ github.head_ref }}8283      - name: Show temporary file84        run: cat .docker/docker-compose.${{ matrix.network }}.yml8586      - name: Build the stack87        run: docker-compose -f ".docker/docker-compose-tests-parachain.yml" -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build8889#      - name: "Build the Docker image with Feature: ${{ env.features }}"90#        run: docker build -t build-${{ github.head_ref }} --file .docker/Dockerfile-chain-dev --build-arg REPO_URL=${{ github.server_url }}/${{ github.repository }}.git --build-arg RUST_TOOLCHAIN=${{ env.actual_toolchain }} --build-arg FEATURE="${{ env.features }}" --build-arg BRANCH=${{ github.head_ref }} --no-cache .9192      - name: Wait93        run: sleep 420s9495      - name: Install node96        uses: actions/setup-node@v197        with:98          node-version: 14.x99100      - name: Install dependencies101        run: |102          cd tests103          yarn install104          yarn add mochawesome105          yarn --pure-lockfile106107      - name: Run tests108        run: |109          cd tests110          NOW=$(date +%s) && yarn test --reporter mochawesome --reporter-options reportFilename=test-${NOW}111        env:112          RPC_URL: http://127.0.0.1:9933/113114      - name: Test Report115        uses: phoenix-actions/test-reporting@v8116        id: test-report               # Set ID reference for step117        if: success() || failure()    # run this step even if previous step failed118        with:119          name: Tests ${{ matrix.network }}            # Name of the check run which will be created120          path: tests/mochawesome-report/test-*.json    # Path to test results121          reporter: mochawesome-json122          fail-on-error: 'false'123124      - name: Stop running containers125        if: always()                   # run this step always126        run: docker-compose -f ".docker/docker-compose-dev.yaml" -f ".docker/docker-compose.${{ matrix.network }}.yml" down