Skip to content

migration fixes (#876) #574

migration fixes (#876)

migration fixes (#876) #574

Workflow file for this run

name: Create release
on:
push:
tags:
- v*
permissions:
contents: write
jobs:
release:
name: Create release
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.inputs.release_tag }}
- name: Make release
run: |
sudo rm -rf dist
make release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create software upgrade proposal
run: |
# helper functions
extract_txhash() { awk -F 'txhash: ' '/txhash:/{print $2; exit}'; }
extract_proposal_id() { awk -F 'key: proposal_id|value: ' '/key: proposal_id/ { getline; gsub(/"/, "", $2); print $2; exit }'; }
extract_and_calc_upgrade_height() { awk -F'"latest_block_height":"' '{ split($2,a,"\""); print a[1]+4500; exit }'; }
extract_checksum() { awk "/elysd-${{ github.ref_name }}-linux-amd64.tar.gz/ {print \$1; exit}"; }
# environment variables
ELYSD=dist/elysd-linux-amd64_linux_amd64_v1/elysd
NODE=https://rpc.testnet.elys.network:443
OPTIONS="--node $NODE --chain-id elystestnet-1 --keyring-backend=test -b=sync --fees=100000uelys --gas=300000 -y"
# save private keys to files
echo "${{ secrets.PRIVATE_KEY_1 }}" > /tmp/private_key_1.txt
echo "${{ secrets.PRIVATE_KEY_2 }}" > /tmp/private_key_2.txt
echo "${{ secrets.PRIVATE_KEY_3 }}" > /tmp/private_key_3.txt
echo "${{ secrets.PRIVATE_KEY_4 }}" > /tmp/private_key_4.txt
# recover keys
echo "${{ secrets.PASSPHRASE_1 }}" | $ELYSD keys import key_1 --keyring-backend test /tmp/private_key_1.txt
echo "${{ secrets.PASSPHRASE_2 }}" | $ELYSD keys import key_2 --keyring-backend test /tmp/private_key_2.txt
echo "${{ secrets.PASSPHRASE_3 }}" | $ELYSD keys import key_3 --keyring-backend test /tmp/private_key_3.txt
echo "${{ secrets.PASSPHRASE_4 }}" | $ELYSD keys import key_4 --keyring-backend test /tmp/private_key_4.txt
# get checksum
checksum=$(cat dist/sha256sum.txt | extract_checksum)
# query and upgrade height
height=$($ELYSD status --node $NODE | extract_and_calc_upgrade_height)
# create proposal
txhash=$(
$ELYSD tx gov submit-legacy-proposal software-upgrade \
${{ github.ref_name }} \
--deposit=10000000uelys \
--upgrade-height=$height \
--title="${{ github.ref_name }}" \
--description="Elys Network ${{ github.ref_name }} released. Focuses on enhancements and codebase improvements." \
--upgrade-info="{\"binaries\":{\"linux/amd64\":\"https://github.com/elys-network/elys/releases/download/${{ github.ref_name }}/elysd-${{ github.ref_name }}-linux-amd64.tar.gz?checksum=$checksum\"}}" \
--no-validate \
--from=key_1 \
$OPTIONS | extract_txhash
)
sleep 10
proposalid=$($ELYSD q tx $txhash --node $NODE | extract_proposal_id)
# vote on proposal
$ELYSD tx gov vote $proposalid yes --from=key_1 $OPTIONS
$ELYSD tx gov vote $proposalid yes --from=key_2 $OPTIONS
$ELYSD tx gov vote $proposalid yes --from=key_3 $OPTIONS
$ELYSD tx gov vote $proposalid yes --from=key_4 $OPTIONS
sleep 10