This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: "C787AB518A0C08B7AE1E1ADA2809A1A84E32159A" | |
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: | | |
export GNUPGHOME="$(mktemp -d)" | |
echo "Create gpg " | |
cat >foo <<EOF | |
%echo Generating a basic OpenPGP key | |
Key-Type: DSA | |
Key-Length: 1024 | |
Subkey-Type: ELG-E | |
Subkey-Length: 1024 | |
Name-Real: constantine | |
Name-Comment: archway testnet | |
Name-Email: [email protected] | |
Expire-Date: 0 | |
Passphrase: abc | |
# Do a commit here, so that we can later print "done" :-) | |
%commit | |
%echo done | |
EOF | |
gpg --batch --generate-key foo | |
# archwayd keys list | |
# docker run --rm -it -v ~/.archway:/root/.archway ghcr.io/archway-network/archwayd:v1.0.1 keys list | |
gpg --list-secret-keys | |
pass init C787AB518A0C08B7AE1E1ADA2809A1A84E32159A | |
echo "Installing expect" | |
sudo apt-get update >/dev/null | |
sudo apt-get install expect >/dev/null | |
echo $CONSTANTINE_TESTNET_KEY | base64 -d > temp.key | |
gpgconf --kill gpg-agent | |
# rm ~/.gnupg/S.* | |
# gpg-connect-agent reloadagent /bye | |
# sleep 5 | |
# 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 |