mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-11-15 04:25:27 +00:00
e1bd6ffa2f
for internal testnet deployment, record the desired deployment version as an action variable that can be used by the checkout action instead of using manual pull & checkout commands
99 lines
3.2 KiB
YAML
99 lines
3.2 KiB
YAML
name: Seed Chain
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
chain-api-url:
|
|
required: true
|
|
type: string
|
|
chain-id:
|
|
required: true
|
|
type: string
|
|
seed-script-filename:
|
|
required: true
|
|
type: string
|
|
erc20-deployer-network-name:
|
|
required: true
|
|
type: string
|
|
genesis_validator_addresses:
|
|
required: true
|
|
type: string
|
|
kava_version_filepath:
|
|
required: true
|
|
type: string
|
|
secrets:
|
|
DEV_WALLET_MNEMONIC:
|
|
required: true
|
|
KAVA_TESTNET_GOD_MNEMONIC:
|
|
required: true
|
|
|
|
jobs:
|
|
seed-chain-state:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: checkout repo from master
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: master
|
|
- name: get desired version of network
|
|
id: kava-version
|
|
run: |
|
|
echo "KAVA_VERSION=$(cat ./ci/env/kava-internal-testnet/KAVA.VERSION)" >> $GITHUB_OUTPUT
|
|
env:
|
|
KAVA_VERSION_FILEPATH: ${{ inputs.kava_version_filepath }}
|
|
- name: checkout version of kava used by network
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ steps.kava-version.outputs.KAVA_VERSION }}
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version-file: go.mod
|
|
- name: build kava binary
|
|
run: make install
|
|
- name: checkout go evm tools repo
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: ethereum/go-ethereum
|
|
path: go-ethereum
|
|
ref: v1.10.26
|
|
- name: install go evm tools
|
|
run: |
|
|
make
|
|
make devtools
|
|
working-directory: go-ethereum
|
|
- name: checkout kava bridge repo for deploying evm contracts
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: Kava-Labs/kava-bridge
|
|
path: kava-bridge
|
|
ref: main
|
|
- name: install nodeJS
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
cache: npm
|
|
node-version: 18
|
|
cache-dependency-path: kava-bridge/contract/package.json
|
|
- name: "install ERC20 contract deployment dependencies"
|
|
run: "npm install"
|
|
working-directory: kava-bridge/contract
|
|
- name: compile default erc20 contracts
|
|
run: make compile-contracts
|
|
working-directory: kava-bridge
|
|
- name: download seed script from current commit
|
|
run: wget https://raw.githubusercontent.com/Kava-Labs/kava/${GITHUB_SHA}/.github/scripts/${SEED_SCRIPT_FILENAME} && chmod +x ${SEED_SCRIPT_FILENAME}
|
|
working-directory: kava-bridge/contract
|
|
env:
|
|
SEED_SCRIPT_FILENAME: ${{ inputs.seed-script-filename }}
|
|
- name: run seed scripts
|
|
run: bash ./${SEED_SCRIPT_FILENAME}
|
|
working-directory: kava-bridge/contract
|
|
env:
|
|
CHAIN_API_URL: ${{ inputs.chain-api-url }}
|
|
CHAIN_ID: ${{ inputs.chain-id }}
|
|
DEV_WALLET_MNEMONIC: ${{ secrets.DEV_WALLET_MNEMONIC }}
|
|
KAVA_TESTNET_GOD_MNEMONIC: ${{ secrets.KAVA_TESTNET_GOD_MNEMONIC }}
|
|
SEED_SCRIPT_FILENAME: ${{ inputs.seed-script-filename }}
|
|
ERC20_DEPLOYER_NETWORK_NAME: ${{ inputs.erc20-deployer-network-name }}
|
|
GENESIS_VALIDATOR_ADDRESSES: ${{ inputs.genesis_validator_addresses }}
|