Skip to content

ci: add expect script #18

ci: add expect script

ci: add expect script #18

name: Deploy cosmwasm contracts to Contestine testnet
on:
push:
branches:
- "main"
- "466-initiate-btp-node-for-archway-on-icon-testnet"
jobs:
deploy-contracts-testnet:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: true
# Install and setup go
- name: Set up Go 1.19
uses: actions/setup-go@v2
with:
go-version: 1.19
# setup gopath
- name: Set PATH
run: |
echo "$(go env GOPATH)/bin" >> $GITHUB_PATH
shell: bash
- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v5
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
fingerprint: "DAAFA799CBEEB98A9E9F27B9CB74C586AEC1A809"
trust_level: 5
# - name: Install stable toolchain
# uses: actions-rs/toolchain@v1
# with:
# toolchain: 1.69.0
# target: wasm32-unknown-unknown
# override: true
# profile: minimal
# - name: Cache Rust dependencies
# uses: Swatinem/rust-cache@v2
- name: Download and Install archwayd
working-directory: contracts/cosmwasm-vm/archway
run: make install
- name: Retrieve the secret and decode it to a file
env:
CONSTANTINE_TESTNET_KEY: ${{ secrets.CONSTANTINE_TESTNET_KEY }}
CONSTANTINE_PASSPHRASE: ${{ secrets.CONSTANTINE_PASSPHRASE }}
run: |
archwayd keys list
gpg --list-secret-keys
pass init DAAFA799CBEEB98A9E9F27B9CB74C586AEC1A809
echo "Installing expect"
sudo apt-get update >/dev/null
sudo apt-get install expect >/dev/null
echo $CONSTANTINE_TESTNET_KEY | base64 -d > temp.key
bash ./scripts/import_key.expect
echo "$CONSTANTINE_PASSPHRASE" | /home/runner/go/bin/archwayd keys import constantine3_wallet temp.key
# which expect
# /usr/bin/expect <<EOD
# set timeout 60
# spawn /home/runner/go/bin/archwayd keys import constantine3_wallet key.json
# expect "Enter passphrase to decrypt your key:"
# send "12345678\r"
# expect eof
# EOD
# echo "CONSTANTINE_PASSPHRASE" | archwayd keys import constantine3_wallet key.json
archwayd keys list
# - name: Compile WASM
# run: |
# rustup component add rustfmt --toolchain 1.69.0-x86_64-unknown-linux-gnu
# rustup component add clippy --toolchain 1.69.0-x86_64-unknown-linux-gnu
# bash ./optimize_build.sh
# - name: Check WASM Size
# run: |
# max_size=800
# echo "Check if size of wasm file exceeds $max_size kilobytes..."
# for file in artifacts/*.wasm
# do
# size=$(du -k "$file" | awk '{print $1}')
# if [[ $size -gt $max_size ]]; then
# echo "Error: $file : $size KB has exceeded maximum contract size limit of 800KB."
# exit 1
# fi
# echo "$file : $size KB"
# done
# echo "The size of all contracts is well within the 800 KB limit."
# - name: Deploy WASM
# run: |
# container=$(docker ps --format '{{.Names}}')
# rm -rf artifacts/cw_common.wasm
# cp -r {artifacts,scripts/deploy_cosmwasm.sh} contracts/cosmwasm-vm/archway/contracts
# docker ps -a
# docker exec $container chmod +x /contracts/deploy_cosmwasm.sh
# docker exec $container /contracts/deploy_cosmwasm.sh