git.delta.rocks / unique-network / refs/commits / 3b4aae883c1e

difftreelog

chainql in env file

Konstantin Astakhov2023-05-03parent: #c29d4be.patch.diff
in: master

5 files changed

modified.docker/Dockerfile-parachain-upgrade-data.j2diffbeforeafterboth
before · .docker/Dockerfile-parachain-upgrade-data.j2
1FROM uniquenetwork/builder-polkadot:{{ POLKADOT_BUILD_BRANCH }} as polkadot23# ===== Rust builder =====4FROM uniquenetwork/services:latest as rust-builder56ENV CARGO_HOME="/cargo-home"7ENV PATH="/cargo-home/bin:$PATH"8ENV TZ=UTC910RUN rustup toolchain uninstall $(rustup toolchain list) && \11    rustup toolchain install {{ RUST_TOOLCHAIN }} && \12    rustup default {{ RUST_TOOLCHAIN }} && \13    rustup target list --installed && \14    rustup show15RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}1617RUN mkdir /unique_parachain18WORKDIR /unique_parachain1920# ===== BUILD current version ======21FROM rust-builder as builder-unique-current2223ARG PROFILE=release2425WORKDIR /unique_parachain2627RUN git clone https://github.com/UniqueNetwork/unique-chain.git -b {{ MAINNET_BRANCH }} . && \28    cargo build --features={{ NETWORK }}-runtime --$PROFILE2930# ===== BUILD target version ======31FROM rust-builder as builder-unique-target3233ARG PROFILE=release3435COPY . /unique_parachain36WORKDIR /unique_parachain3738RUN cargo build --features={{ NETWORK }}-runtime --$PROFILE3940# ===== RUN ======41FROM ubuntu:22.044243ENV REPLICA_FROM={{ REPLICA_FROM }}4445RUN apt-get -y update && \46    apt-get -y install curl git && \47    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \48    export NVM_DIR="$HOME/.nvm" && \49    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \50    nvm install v16.16.0 && \51    nvm use v16.16.05253RUN git clone https://github.com/uniquenetwork/polkadot-launch.git -b {{ POLKADOT_LAUNCH_BRANCH }}5455RUN export NVM_DIR="$HOME/.nvm" && \56    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \57    cd /polkadot-launch && \58    npm install --global yarn && \59    yarn install6061COPY --from=builder-unique-current /unique_parachain/target/release/unique-collator /unique-chain/current/release/62COPY --from=builder-unique-target /unique_parachain/target/release/unique-collator /unique-chain/target/release/63COPY --from=builder-unique-target /unique_parachain/target/release/wbuild/{{ WASM_NAME }}-runtime/{{ WASM_NAME }}_runtime.compact.compressed.wasm /unique-chain/target/release/wbuild/{{ WASM_NAME }}-runtime/{{ WASM_NAME }}_runtime.compact.compressed.wasm6465COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/launch-config-forkless-data.json /polkadot-launch/launch-config.json66COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/fork.jsonnet /polkadot-launch/fork.jsonnet67COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/typeNames.jsonnet /polkadot-launch/typeNames.jsonnet6869COPY --from=uniquenetwork/builder-chainql:latest /chainql/target/release/chainql /chainql/target/release/7071COPY --from=polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/72COPY --from=polkadot /unique_parachain/polkadot/target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm /polkadot/target/release/wbuild/westend-runtime/westend_runtime.compact.compressed.wasm7374CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" REPLICA_FROM && \75    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \76    cd /polkadot-launch && \77    yarn start launch-config.json --test-upgrade-parachains
modified.docker/Dockerfile-xcm.j2diffbeforeafterboth
--- a/.docker/Dockerfile-xcm.j2
+++ b/.docker/Dockerfile-xcm.j2
@@ -60,7 +60,7 @@
 COPY --from=uniquenetwork/builder-cumulus:{{ CUMULUS_BUILD_BRANCH }} /unique_parachain/cumulus/target/release/polkadot-parachain /cumulus/target/release/cumulus
 COPY --from=uniquenetwork/builder-acala:{{ ACALA_BUILD_BRANCH }} /unique_parachain/Acala/target/production/acala /acala/target/release/
 COPY --from=uniquenetwork/builder-astar:{{ ASTAR_BUILD_BRANCH }} /unique_parachain/astar/target/release/astar /astar/target/release/
-COPY --from=uniquenetwork/builder-chainql:latest /chainql/target/release/chainql /chainql/target/release/
+COPY --from=uniquenetwork/builder-chainql:{{ CHAINQL }} /chainql/target/release/chainql /chainql/target/release/
 
 EXPOSE 9844
 EXPOSE 9933
modified.envdiffbeforeafterboth
--- a/.env
+++ b/.env
@@ -1,6 +1,7 @@
 RUST_TOOLCHAIN=nightly-2022-11-15
 POLKADOT_LAUNCH_BRANCH=unique-network
 RELAY_CHAIN_TYPE=westend
+CHAINQL=v0.4.0
 
 POLKADOT_MAINNET_BRANCH=release-v0.9.37
 STATEMINT_BUILD_BRANCH=release-parachains-v9370
modified.github/workflows/forkless-update-data.ymldiffbeforeafterboth
--- a/.github/workflows/forkless-update-data.yml
+++ b/.github/workflows/forkless-update-data.yml
@@ -83,6 +83,7 @@
             POLKADOT_BUILD_BRANCH=${{ matrix.relay_branch }}
             POLKADOT_LAUNCH_BRANCH=${{ env.POLKADOT_LAUNCH_BRANCH }}
             REPLICA_FROM=${{ matrix.replica_from_address }}
+            CHAINQL=${{ env.CHAINQL }}
 
       - name: Show build configuration
         run: cat .docker/Dockerfile-parachain-upgrade-data.${{ matrix.network }}.yml
modified.github/workflows/xcm.ymldiffbeforeafterboth
--- a/.github/workflows/xcm.yml
+++ b/.github/workflows/xcm.yml
@@ -251,9 +251,43 @@
             fi
         shell: bash
 
-      - name: Pull chainql docker image
-        run: docker pull uniquenetwork/builder-chainql:latest
 
+      # Check CHAINQL version and build it if it doesn't exist in repository
+      - name: Generate ENV related extend Dockerfile file for CHAINQL
+        uses: cuchi/jinja2-action@v1.2.0
+        with:
+          template: .docker/Dockerfile-chainql.j2
+          output_file: .docker/Dockerfile-chainql.${{ env.CHAINQL }}.yml
+          variables: |
+            RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }}
+            CHAINQL=${{ env.CHAINQL }}
+
+      - name: Check if the dockerhub repository contains the needed CHAINQL version
+        run: |
+          # aquire token
+            TOKEN=$(curl -s -H "Content-Type: application/json" -X POST -d '{"username": "'${{ secrets.CORE_DOCKERHUB_USERNAME }}'", "password": "'${{ secrets.CORE_DOCKERHUB_TOKEN }}'"}' https://hub.docker.com/v2/users/login/ | jq -r .token)
+            export TOKEN=$TOKEN
+
+          # Get TAGS from DOCKERHUB repository
+            CHAINQL_TAGS=$(curl -s -H "Authorization: JWT ${TOKEN}" https://hub.docker.com/v2/repositories/uniquenetwork/builder-chainql/tags/?page_size=100 | jq -r '."results"[]["name"]')
+          # Show TAGS
+            echo "CHAINQL TAGS:"
+            echo $CHAINQL_TAGS
+          # Check correct version CHAINQL and build it if it doesn't exist in CHAINQL TAGS
+            if [[ ${CHAINQL_TAGS[*]} =~ (^|[[:space:]])"${{ env.CHAINQL }}"($|[[:space:]]) ]]; then
+                echo "Repository has needed CHAINQL version";
+                docker pull uniquenetwork/builder-chainql:${{ env.CHAINQL }}
+            else
+                echo "Repository has not needed CHAINQL version, so build it";
+                cd .docker/ && docker build --no-cache --file ./Dockerfile-chainql.${{ env.CHAINQL }}.yml --tag uniquenetwork/builder-chainql:${{ env.CHAINQL }} .
+                echo "Push needed CHAINQL version to the repository";
+                docker push uniquenetwork/builder-chainql:${{ env.CHAINQL }}
+            fi
+        shell: bash
+
+      # - name: Pull chainql docker image
+      #   run: docker pull uniquenetwork/builder-chainql:${{ env.CHAINQL }}
+
       - name: Generate ENV related extend launch-config file
         uses: cuchi/jinja2-action@v1.2.0
         with:
@@ -281,6 +315,7 @@
             ASTAR_BUILD_BRANCH=${{ matrix.astar_version }}
             MOONBEAM_BUILD_BRANCH=${{ matrix.moonbeam_version }}
             CUMULUS_BUILD_BRANCH=${{ matrix.cumulus_version }}
+            CHAINQL=${{ env.CHAINQL }}
 
       - name: Show build Dockerfile
         run: cat .docker/Dockerfile-xcm.${{ matrix.network }}.yml