From 2a3137a28fa040014a18350957603b7e78d58989 Mon Sep 17 00:00:00 2001 From: Assem Date: Thu, 14 Dec 2023 15:05:24 +0100 Subject: [PATCH] =?UTF-8?q?chore:=20update=20runtime=20spec=20checks=20?= =?UTF-8?q?=E2=9B=93=EF=B8=8F=20(#4349)=20(#4350)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: update runtime spec checks ⛓️ * chore: add checks to berghain release * chore: add conditional rpc endpoint --- .github/workflows/_03_release_checks.yml | 6 ++++- .github/workflows/release-berghain.yml | 5 ++++ ci/scripts/check_runtime_spec_version.sh | 31 ++++++++++++++++-------- 3 files changed, 31 insertions(+), 11 deletions(-) diff --git a/.github/workflows/_03_release_checks.yml b/.github/workflows/_03_release_checks.yml index 4225db381b..89eb3219c6 100644 --- a/.github/workflows/_03_release_checks.yml +++ b/.github/workflows/_03_release_checks.yml @@ -5,6 +5,10 @@ on: type: string required: false default: ${{ github.ref_name }} + network: + type: string + required: false + default: perseverance env: FORCE_COLOR: 1 @@ -77,4 +81,4 @@ jobs: - name: Check changelog 📝 shell: bash - run: ./ci/scripts/check_runtime_spec_version.sh ${{ inputs.tag }} + run: ./ci/scripts/check_runtime_spec_version.sh ${{ inputs.network }} diff --git a/.github/workflows/release-berghain.yml b/.github/workflows/release-berghain.yml index b29a33cf50..543552a87b 100644 --- a/.github/workflows/release-berghain.yml +++ b/.github/workflows/release-berghain.yml @@ -8,7 +8,12 @@ concurrency: cancel-in-progress: true jobs: + release-checks: + uses: ./.github/workflows/_03_release_checks.yml + with: + network: "berghain" build: + needs: [release-checks] uses: ./.github/workflows/_20_build.yml secrets: inherit with: diff --git a/ci/scripts/check_runtime_spec_version.sh b/ci/scripts/check_runtime_spec_version.sh index 708cedbfe6..5b9f10d447 100755 --- a/ci/scripts/check_runtime_spec_version.sh +++ b/ci/scripts/check_runtime_spec_version.sh @@ -1,21 +1,32 @@ #!/bin/bash -version=$1 +network=$1 + runtime_spec_version_file="state-chain/runtime/src/lib.rs" -numeric_version=$(echo $version | tr -d '.') # Extract the spec_version from the Rust file spec_version=$(grep 'spec_version:' $runtime_spec_version_file | awk '{print $2}' | tr -d ',') -runtime_version=$(cargo read-manifest --manifest-path state-chain/runtime/Cargo.toml | jq -r .version) - -# Compare versions -if [ "$spec_version" != "$numeric_version" ]; then - echo "Error: spec_version ($spec_version) does not match the expected version ($numeric_version)" +if [ -z $network ]; then + echo "Network not specified" exit 1 fi -if [ "$runtime_version" != "$version" ]; then - echo "Error: runtime version ($runtime_version) does not match the expected version ($version)" - exit 1 +if [ $network == "berghain" ]; then + RPC_ENDPOINT="https://mainnet-archive.chainflip.io" +else + RPC_ENDPOINT="https://perseverance.chainflip.xyz" +fi + +live_runtime_version=$(curl -s -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "state_getRuntimeVersion", "params":[]}' $RPC_ENDPOINT | jq .result.specVersion) + +echo "Live runtime version: $live_runtime_version, Current Spec version: $spec_version" + +# Compare versions +if [ $spec_version -gt $live_runtime_version ]; then + echo "Runtime version has been incremented." + exit 0 +else + echo "Runtime version has not been incremented." + exit 2 fi