From 03d023615620e8cf519e2615d80d59efd4a81749 Mon Sep 17 00:00:00 2001 From: Evgeny Snitko Date: Mon, 8 Apr 2024 19:13:50 +0400 Subject: [PATCH 1/4] forklift for ci-unified --- dockerfiles/ci-unified/Dockerfile | 7 ++++ dockerfiles/ci-unified/download-forklift.sh | 44 +++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 dockerfiles/ci-unified/download-forklift.sh diff --git a/dockerfiles/ci-unified/Dockerfile b/dockerfiles/ci-unified/Dockerfile index 59503e91..be3ad852 100644 --- a/dockerfiles/ci-unified/Dockerfile +++ b/dockerfiles/ci-unified/Dockerfile @@ -289,6 +289,13 @@ RUN wget -q https://github.com/paritytech/rustc-rv32e-toolchain/releases/downloa mv rve-nightly /usr/local/rustup/toolchains && \ rm -f rust-rve-${RUSTC_RV32E_TOOLCHAIN_VERSION}-x86_64-unknown-linux-gnu.tar.zst +### forklift + +COPY ci-unified/download-forklift.sh $HOME/download-forklift.sh +RUN chmod +x $HOME/download-forklift.sh +RUN $HOME/download-forklift.sh -v latest -p $HOME/.forklift +RUN export PATH=$PATH:$HOME/.forklift + ### finalize ### diff --git a/dockerfiles/ci-unified/download-forklift.sh b/dockerfiles/ci-unified/download-forklift.sh new file mode 100644 index 00000000..5d5aa614 --- /dev/null +++ b/dockerfiles/ci-unified/download-forklift.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +DL_PATH="$HOME/.forklift4" +VERSION="latest" + +while getopts "p:v:" flag; do + case $flag in + v) # version + VERSION=$OPTARG + ;; + p) # download path + DL_PATH=$OPTARG + ;; + \?) + echo "invalid option '$flag'" + exit 1 + ;; + esac +done + + +echo "Downloading forklift $VERSION to $DL_PATH" + + +RELEASE_URL="https://api.github.com/repos/paritytech/forklift/releases/tags/$VERSION" + +if [ $VERSION="latest" ] + then + RELEASE_URL="https://api.github.com/repos/paritytech/forklift/releases/latest" +fi + + +RELEASE=`curl -s $RELEASE_URL` +ASSET=`jq '.assets[] | select(.name | endswith("linux_amd64"))' <<< "$RELEASE"` + +ASSET_NAME=`jq -r '.name' <<< "$ASSET"` +ASSET_URL=`jq -r '.browser_download_url' <<< "$ASSET"` + +mkdir -p $DL_PATH +curl -s -o $DL_PATH/$ASSET_NAME -L $ASSET_URL +cp -r $DL_PATH/$ASSET_NAME $DL_PATH/forklift + +chmod +x $DL_PATH/$ASSET_NAME +chmod +x $DL_PATH/forklift From 458253e64226227f2431e634dc4794b32e799edf Mon Sep 17 00:00:00 2001 From: Evgeny Snitko Date: Mon, 8 Apr 2024 20:59:18 +0400 Subject: [PATCH 2/4] fixes --- dockerfiles/ci-unified/Dockerfile | 13 +++++++++---- dockerfiles/ci-unified/download-forklift.sh | 7 +++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/dockerfiles/ci-unified/Dockerfile b/dockerfiles/ci-unified/Dockerfile index be3ad852..a2131d82 100644 --- a/dockerfiles/ci-unified/Dockerfile +++ b/dockerfiles/ci-unified/Dockerfile @@ -8,6 +8,7 @@ ARG RESTIC_VERSION="0.16.1" ARG RUST_STABLE_VERSION="1.75.0" ARG RUST_NIGHTLY_VERSION="2024-01-22" ARG LLVM_VERSION="15" +ARG FORKLIFT_VERSION="latest" ARG MINIO_VERSION="2023-04-06T16-51-10Z" ARG RUSTC_RV32E_TOOLCHAIN_TAG="v1.1.0" ARG RUSTC_RV32E_TOOLCHAIN_VERSION="nightly-2024-01-05" @@ -289,12 +290,15 @@ RUN wget -q https://github.com/paritytech/rustc-rv32e-toolchain/releases/downloa mv rve-nightly /usr/local/rustup/toolchains && \ rm -f rust-rve-${RUSTC_RV32E_TOOLCHAIN_VERSION}-x86_64-unknown-linux-gnu.tar.zst + ### forklift -COPY ci-unified/download-forklift.sh $HOME/download-forklift.sh -RUN chmod +x $HOME/download-forklift.sh -RUN $HOME/download-forklift.sh -v latest -p $HOME/.forklift -RUN export PATH=$PATH:$HOME/.forklift + +# forklift | install forklift +COPY ci-unified/download-forklift.sh download-forklift.sh +RUN chmod +x download-forklift.sh +RUN bash download-forklift.sh -v ${FORKLIFT_VERSION}} -p ./forklift/ + ### finalize ### @@ -310,6 +314,7 @@ RUN rustup show && \ cargo-contract --version # ink-waterfall-ci # substrate-contracts-node-rand-extension --version +RUN forklift version # finalize | cargo clean up, removes compilation artifacts cargo install creates (>250M) RUN rm -rf "${CARGO_HOME}/registry" "${CARGO_HOME}/git" /root/.cache/sccache diff --git a/dockerfiles/ci-unified/download-forklift.sh b/dockerfiles/ci-unified/download-forklift.sh index 5d5aa614..0897dc72 100644 --- a/dockerfiles/ci-unified/download-forklift.sh +++ b/dockerfiles/ci-unified/download-forklift.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash DL_PATH="$HOME/.forklift4" VERSION="latest" @@ -38,7 +38,6 @@ ASSET_URL=`jq -r '.browser_download_url' <<< "$ASSET"` mkdir -p $DL_PATH curl -s -o $DL_PATH/$ASSET_NAME -L $ASSET_URL -cp -r $DL_PATH/$ASSET_NAME $DL_PATH/forklift +cp -r $DL_PATH/$ASSET_NAME /usr/bin/forklift -chmod +x $DL_PATH/$ASSET_NAME -chmod +x $DL_PATH/forklift +chmod 755 +x /usr/bin/forklift From 70a0d1c79e27aa7f4fcd497c2802fd1ab434f94f Mon Sep 17 00:00:00 2001 From: Evgeny Snitko Date: Mon, 8 Apr 2024 21:07:18 +0400 Subject: [PATCH 3/4] typos --- dockerfiles/ci-unified/Dockerfile | 2 +- dockerfiles/ci-unified/download-forklift.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dockerfiles/ci-unified/Dockerfile b/dockerfiles/ci-unified/Dockerfile index a2131d82..263bfc55 100644 --- a/dockerfiles/ci-unified/Dockerfile +++ b/dockerfiles/ci-unified/Dockerfile @@ -297,7 +297,7 @@ RUN wget -q https://github.com/paritytech/rustc-rv32e-toolchain/releases/downloa # forklift | install forklift COPY ci-unified/download-forklift.sh download-forklift.sh RUN chmod +x download-forklift.sh -RUN bash download-forklift.sh -v ${FORKLIFT_VERSION}} -p ./forklift/ +RUN bash download-forklift.sh -v ${FORKLIFT_VERSION} -p ./forklift/ ### finalize ### diff --git a/dockerfiles/ci-unified/download-forklift.sh b/dockerfiles/ci-unified/download-forklift.sh index 0897dc72..1e8dd2ff 100644 --- a/dockerfiles/ci-unified/download-forklift.sh +++ b/dockerfiles/ci-unified/download-forklift.sh @@ -40,4 +40,4 @@ mkdir -p $DL_PATH curl -s -o $DL_PATH/$ASSET_NAME -L $ASSET_URL cp -r $DL_PATH/$ASSET_NAME /usr/bin/forklift -chmod 755 +x /usr/bin/forklift +chmod 755 /usr/bin/forklift From 1f6ebef334fa38de5acd4feee8880f3fec007f3a Mon Sep 17 00:00:00 2001 From: Evgeny Snitko Date: Tue, 9 Apr 2024 01:13:21 +0400 Subject: [PATCH 4/4] /usr/local/bin --- dockerfiles/ci-unified/download-forklift.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dockerfiles/ci-unified/download-forklift.sh b/dockerfiles/ci-unified/download-forklift.sh index 1e8dd2ff..5a4e089f 100644 --- a/dockerfiles/ci-unified/download-forklift.sh +++ b/dockerfiles/ci-unified/download-forklift.sh @@ -38,6 +38,6 @@ ASSET_URL=`jq -r '.browser_download_url' <<< "$ASSET"` mkdir -p $DL_PATH curl -s -o $DL_PATH/$ASSET_NAME -L $ASSET_URL -cp -r $DL_PATH/$ASSET_NAME /usr/bin/forklift +cp -r $DL_PATH/$ASSET_NAME /usr/local/bin/forklift -chmod 755 /usr/bin/forklift +chmod 755 /usr/local/bin/forklift