mirror of
				https://github.com/0glabs/0g-chain.git
				synced 2025-04-04 15:55:23 +00:00 
			
		
		
		
	feat: add continuous deployment for protonet
This commit is contained in:
		
							parent
							
								
									7bb707b174
								
							
						
					
					
						commit
						b4e11eb8cd
					
				
							
								
								
									
										4
									
								
								.github/scripts/seed-internal-testnet.sh
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/scripts/seed-internal-testnet.sh
									
									
									
									
										vendored
									
									
								
							| @ -76,15 +76,13 @@ npx hardhat --network "${ERC20_DEPLOYER_NETWORK_NAME}" mint-erc20 "$wETH_CONTRAC | ||||
| npx hardhat --network "${ERC20_DEPLOYER_NETWORK_NAME}" mint-erc20 "$AXLUSD_CONTRACT_ADDRESS" "$WEBAPP_E2E_WHALE_ADDRESS" 10000000000000 | ||||
| 
 | ||||
| # give dev-wallet enough delegation power to pass proposals by itself | ||||
| # enumerate all genesis validators | ||||
| GENTX_VALIDATORS=("kavavaloper1xcgtffvv2yeqmgs3yz4gv29kgjrj8usxrnrlwp" "kavavaloper1w66m9hdzwgd6uc8g93zqkcumgwzrpcw958sh3s") | ||||
| 
 | ||||
| # issue 300KAVA to delegate to each validator | ||||
| kava tx issuance issue 600000000ukava kava1vlpsrmdyuywvaqrv7rx6xga224sqfwz3fyfhwq \ | ||||
|   --from dev-wallet --gas-prices 0.5ukava -y | ||||
| 
 | ||||
| # delegate 300KAVA to each validator | ||||
| for validator in "${GENTX_VALIDATORS[@]}" | ||||
| for validator in "${GENESIS_VALIDATOR_ADDRESSES[@]}" | ||||
| do | ||||
|   kava tx staking delegate "${validator}" 300000000ukava --from dev-wallet --gas-prices 0.5ukava -y | ||||
| done | ||||
|  | ||||
							
								
								
									
										1
									
								
								.github/workflows/cd-internal-testnet.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/workflows/cd-internal-testnet.yml
									
									
									
									
										vendored
									
									
								
							| @ -45,6 +45,7 @@ jobs: | ||||
|       chain-id: kava_2221-17000 | ||||
|       seed-script-filename: seed-internal-testnet.sh | ||||
|       erc20-deployer-network-name: internal_testnet | ||||
|       genesis_validator_addresses: "kavavaloper1xcgtffvv2yeqmgs3yz4gv29kgjrj8usxrnrlwp kavavaloper1w66m9hdzwgd6uc8g93zqkcumgwzrpcw958sh3s" | ||||
|     secrets: inherit | ||||
|     needs: [start-chain-api] | ||||
|   post-pipeline-metrics: | ||||
|  | ||||
							
								
								
									
										59
									
								
								.github/workflows/cd-protonet.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								.github/workflows/cd-protonet.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,59 @@ | ||||
| name: Continuous Deployment (Protonet) | ||||
| # run after every successful CI job of new commits to the master branch | ||||
| on: | ||||
|   workflow_run: | ||||
|     workflows: [Continuous Integration (Kava Master)] | ||||
|     types: | ||||
|       - completed | ||||
| 
 | ||||
| jobs: | ||||
|   # in order: | ||||
|   # enter standby (prevents autoscaling group from killing node during deploy) | ||||
|   # stop kava | ||||
|   # take ebs + zfs snapshots | ||||
|   # download updated binary and genesis | ||||
|   # reset application database state (only done on internal testnet) | ||||
|   reset-chain-to-zero-state: | ||||
|     # only start cd pipeline if last ci run was successful | ||||
|     if: ${{ github.event.workflow_run.conclusion == 'success' }} | ||||
|     uses: ./.github/workflows/cd-reset-internal-testnet.yml | ||||
|     with: | ||||
|       aws-region: us-east-1 | ||||
|       chain-id: proto_2221-17000 | ||||
|       ssm-document-name: kava-testnet-internal-node-update | ||||
|       playbook-name: reset-internal-testnet-playbook.yml | ||||
|       playbook-infrastructure-branch: master | ||||
|     secrets: inherit | ||||
| 
 | ||||
|   # start kava with new binary and genesis state on api, peer and seed nodes, place nodes in service once they start and are synched to live | ||||
|   start-chain-api: | ||||
|     uses: ./.github/workflows/cd-start-chain.yml | ||||
|     with: | ||||
|       aws-region: us-east-1 | ||||
|       chain-id: proto_2221-17000 | ||||
|       ssm-document-name: kava-testnet-internal-node-update | ||||
|       playbook-name: start-chain-api-playbook.yml | ||||
|       playbook-infrastructure-branch: master | ||||
|     secrets: inherit | ||||
|     needs: [reset-chain-to-zero-state] | ||||
| 
 | ||||
|   # setup test and development accounts and balances, deploy contracts by calling the chain's api | ||||
|   seed-chain-state: | ||||
|     uses: ./.github/workflows/cd-seed-chain.yml | ||||
|     with: | ||||
|       chain-api-url: https://rpc.app.protonet.us-east.production.kava.io:443 | ||||
|       chain-id: proto_2221-17000 | ||||
|       seed-script-filename: seed-internal-testnet.sh | ||||
|       erc20-deployer-network-name: protonet | ||||
|       genesis_validator_addresses: "kavavaloper14w4avgdvqrlpww6l5dhgj4egfn6ln7gmtp7r2m" | ||||
|     secrets: inherit | ||||
|     needs: [start-chain-api] | ||||
|   post-pipeline-metrics: | ||||
|     uses: ./.github/workflows/metric-pipeline.yml | ||||
|     if: always() # always run so we metric failures and successes | ||||
|     with: | ||||
|       aws-region: us-east-1 | ||||
|       metric-name: kava.deploys.testnet.proto | ||||
|       namespace: Kava/ContinuousDeployment | ||||
|     secrets: inherit | ||||
|     needs: [seed-chain-state] | ||||
							
								
								
									
										4
									
								
								.github/workflows/cd-seed-chain.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/cd-seed-chain.yml
									
									
									
									
										vendored
									
									
								
							| @ -15,6 +15,9 @@ on: | ||||
|       erc20-deployer-network-name: | ||||
|         required: true | ||||
|         type: string | ||||
|       genesis_validator_addresses: | ||||
|         required: true | ||||
|         type: string | ||||
|     secrets: | ||||
|       DEV_WALLET_MNEMONIC: | ||||
|         required: true | ||||
| @ -71,3 +74,4 @@ jobs: | ||||
|           DEV_WALLET_MNEMONIC: ${{ secrets.DEV_WALLET_MNEMONIC }} | ||||
|           SEED_SCRIPT_FILENAME: ${{ inputs.seed-script-filename }} | ||||
|           ERC20_DEPLOYER_NETWORK_NAME: ${{ inputs.erc20-deployer-network-name }} | ||||
|           GENESIS_VALIDATOR_ADDRESSES: ${{ inputs.genesis_validator_addresses }} | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/ci-default.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/ci-default.yml
									
									
									
									
										vendored
									
									
								
							| @ -48,3 +48,5 @@ jobs: | ||||
|         run: make install | ||||
|       - name: validate testnet genesis | ||||
|         run: kava validate-genesis ci/env/kava-internal-testnet/genesis.json | ||||
|       - name: validate protonet genesis | ||||
|         run: kava validate-genesis ci/env/kava-protonet/genesis.json | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Levi Schoen
						Levi Schoen