git.delta.rocks / unique-network / refs/commits / 9e02a64830a8

difftreelog

Merge pull request #931 from UniqueNetwork/ci/chainql-to-dot-env

Yaroslav Bolyukin2023-05-05parents: #c29d4be #75a9284.patch.diff
in: master
chainql in env file

6 files changed

added.docker/Dockerfile-chainql.j2diffbeforeafterboth
--- /dev/null
+++ b/.docker/Dockerfile-chainql.j2
@@ -0,0 +1,40 @@
+# ===== Rust builder =====
+FROM ubuntu:22.04 as rust-builder
+LABEL maintainer="Unique.Network"
+
+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 protobuf-compiler && \
+    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 CHAINQL =====
+FROM rust-builder as builder-chainql-bin
+
+RUN mkdir chainql
+WORKDIR /chainql
+
+RUN git clone -b {{ CHAINQL }} --depth 1 https://github.com/UniqueNetwork/chainql.git . && \
+    cargo build --release
+
+# ===== RUN ======
+
+FROM ubuntu:22.04 as builder-chainql
+
+COPY --from=builder-chainql-bin /chainql/target/release/chainql /chainql/target/release/chainql
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
--- 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
1RUST_TOOLCHAIN=nightly-2022-11-151RUST_TOOLCHAIN=nightly-2022-11-15
2POLKADOT_LAUNCH_BRANCH=unique-network2POLKADOT_LAUNCH_BRANCH=unique-network
3RELAY_CHAIN_TYPE=westend3RELAY_CHAIN_TYPE=westend
4CHAINQL=v0.3.1
45
5POLKADOT_MAINNET_BRANCH=release-v0.9.376POLKADOT_MAINNET_BRANCH=release-v0.9.37
6STATEMINT_BUILD_BRANCH=release-parachains-v93707STATEMINT_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