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
--- a/.docker/Dockerfile-parachain-upgrade-data.j2
+++ b/.docker/Dockerfile-parachain-upgrade-data.j2
@@ -66,7 +66,7 @@
 COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/fork.jsonnet /polkadot-launch/fork.jsonnet
 COPY --from=builder-unique-target /unique_parachain/.docker/forkless-config/typeNames.jsonnet /polkadot-launch/typeNames.jsonnet
 
-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/
 
 COPY --from=polkadot /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/
 COPY --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.wasm
modified.docker/Dockerfile-xcm.j2diffbeforeafterboth
before · .docker/Dockerfile-xcm.j2
1# ===== Rust builder =====2FROM uniquenetwork/services:latest as rust-builder3ENV CARGO_HOME="/cargo-home"4ENV PATH="/cargo-home/bin:$PATH"5ENV TZ=UTC67RUN rustup toolchain uninstall $(rustup toolchain list) && \8    rustup toolchain install {{ RUST_TOOLCHAIN }} && \9    rustup default {{ RUST_TOOLCHAIN }} && \10    rustup target list --installed && \11    rustup show12RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}1314RUN mkdir /unique_parachain15WORKDIR /unique_parachain1617# ===== BUILD ======18FROM rust-builder as builder-unique1920ARG PROFILE=release2122WORKDIR /unique_parachain2324COPY ./xcm-config/launch-config-xcm-{{ NETWORK }}.json ./launch-config-xcm-{{ NETWORK }}.json25COPY ./xcm-config/5validators.jsonnet ./5validators.jsonnet26COPY ./xcm-config/6validators.jsonnet ./6validators.jsonnet2728RUN git clone -b {{ BRANCH }} https://github.com/UniqueNetwork/unique-chain.git && \29    cd unique-chain && \30    cargo build --features={{ NETWORK }}-runtime --$PROFILE3132# ===== RUN ======3334FROM ubuntu:22.043536RUN apt-get -y update && \37      apt-get -y install curl git && \38      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \39      export NVM_DIR="$HOME/.nvm" && \40      [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \41      nvm install v16.16.0 && \42      nvm use v16.16.04344RUN git clone https://github.com/uniquenetwork/polkadot-launch -b {{ POLKADOT_LAUNCH_BRANCH }}4546RUN export NVM_DIR="$HOME/.nvm" && \47    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \48    cd /polkadot-launch && \49    npm install --global yarn && \50    yarn install5152COPY --from=builder-unique /unique_parachain/launch-config-xcm-{{ NETWORK }}.json /polkadot-launch/53COPY --from=builder-unique /unique_parachain/5validators.jsonnet /polkadot-launch/5validators.jsonnet54COPY --from=builder-unique /unique_parachain/6validators.jsonnet /polkadot-launch/6validators.jsonnet5556COPY --from=builder-unique /unique_parachain/unique-chain/target/release/unique-collator /unique-chain/target/release/5758COPY --from=uniquenetwork/builder-polkadot:{{ POLKADOT_BUILD_BRANCH }} /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/59COPY --from=uniquenetwork/builder-moonbeam:{{ MOONBEAM_BUILD_BRANCH }} /unique_parachain/moonbeam/target/release/moonbeam /moonbeam/target/release/60COPY --from=uniquenetwork/builder-cumulus:{{ CUMULUS_BUILD_BRANCH }} /unique_parachain/cumulus/target/release/polkadot-parachain /cumulus/target/release/cumulus61COPY --from=uniquenetwork/builder-acala:{{ ACALA_BUILD_BRANCH }} /unique_parachain/Acala/target/production/acala /acala/target/release/62COPY --from=uniquenetwork/builder-astar:{{ ASTAR_BUILD_BRANCH }} /unique_parachain/astar/target/release/astar /astar/target/release/63COPY --from=uniquenetwork/builder-chainql:latest /chainql/target/release/chainql /chainql/target/release/6465EXPOSE 984466EXPOSE 993367EXPOSE 994468EXPOSE 994669EXPOSE 994770EXPOSE 994871EXPOSE 99497273CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" && \74    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \75    cd /polkadot-launch && \76    yarn start launch-config-xcm-{{ NETWORK }}.json
after · .docker/Dockerfile-xcm.j2
1# ===== Rust builder =====2FROM uniquenetwork/services:latest as rust-builder3ENV CARGO_HOME="/cargo-home"4ENV PATH="/cargo-home/bin:$PATH"5ENV TZ=UTC67RUN rustup toolchain uninstall $(rustup toolchain list) && \8    rustup toolchain install {{ RUST_TOOLCHAIN }} && \9    rustup default {{ RUST_TOOLCHAIN }} && \10    rustup target list --installed && \11    rustup show12RUN rustup target add wasm32-unknown-unknown --toolchain {{ RUST_TOOLCHAIN }}1314RUN mkdir /unique_parachain15WORKDIR /unique_parachain1617# ===== BUILD ======18FROM rust-builder as builder-unique1920ARG PROFILE=release2122WORKDIR /unique_parachain2324COPY ./xcm-config/launch-config-xcm-{{ NETWORK }}.json ./launch-config-xcm-{{ NETWORK }}.json25COPY ./xcm-config/5validators.jsonnet ./5validators.jsonnet26COPY ./xcm-config/6validators.jsonnet ./6validators.jsonnet2728RUN git clone -b {{ BRANCH }} https://github.com/UniqueNetwork/unique-chain.git && \29    cd unique-chain && \30    cargo build --features={{ NETWORK }}-runtime --$PROFILE3132# ===== RUN ======3334FROM ubuntu:22.043536RUN apt-get -y update && \37      apt-get -y install curl git && \38      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash && \39      export NVM_DIR="$HOME/.nvm" && \40      [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \41      nvm install v16.16.0 && \42      nvm use v16.16.04344RUN git clone https://github.com/uniquenetwork/polkadot-launch -b {{ POLKADOT_LAUNCH_BRANCH }}4546RUN export NVM_DIR="$HOME/.nvm" && \47    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \48    cd /polkadot-launch && \49    npm install --global yarn && \50    yarn install5152COPY --from=builder-unique /unique_parachain/launch-config-xcm-{{ NETWORK }}.json /polkadot-launch/53COPY --from=builder-unique /unique_parachain/5validators.jsonnet /polkadot-launch/5validators.jsonnet54COPY --from=builder-unique /unique_parachain/6validators.jsonnet /polkadot-launch/6validators.jsonnet5556COPY --from=builder-unique /unique_parachain/unique-chain/target/release/unique-collator /unique-chain/target/release/5758COPY --from=uniquenetwork/builder-polkadot:{{ POLKADOT_BUILD_BRANCH }} /unique_parachain/polkadot/target/release/polkadot /polkadot/target/release/59COPY --from=uniquenetwork/builder-moonbeam:{{ MOONBEAM_BUILD_BRANCH }} /unique_parachain/moonbeam/target/release/moonbeam /moonbeam/target/release/60COPY --from=uniquenetwork/builder-cumulus:{{ CUMULUS_BUILD_BRANCH }} /unique_parachain/cumulus/target/release/polkadot-parachain /cumulus/target/release/cumulus61COPY --from=uniquenetwork/builder-acala:{{ ACALA_BUILD_BRANCH }} /unique_parachain/Acala/target/production/acala /acala/target/release/62COPY --from=uniquenetwork/builder-astar:{{ ASTAR_BUILD_BRANCH }} /unique_parachain/astar/target/release/astar /astar/target/release/63COPY --from=uniquenetwork/builder-chainql:{{ CHAINQL }} /chainql/target/release/chainql /chainql/target/release/6465EXPOSE 984466EXPOSE 993367EXPOSE 994468EXPOSE 994669EXPOSE 994770EXPOSE 994871EXPOSE 99497273CMD export NVM_DIR="$HOME/.nvm" PATH="$PATH:/chainql/target/release" && \74    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \75    cd /polkadot-launch && \76    yarn start launch-config-xcm-{{ NETWORK }}.json
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