Skip to content

Manual sol artifacts #45

Manual sol artifacts

Manual sol artifacts #45

name: Manual sol artifacts
on:
workflow_dispatch:
inputs:
network:
description: 'Network to deploy to'
required: true
type: choice
options:
- arbitrum
- arbitrum_sepolia
- avalanche
- base
- base_sepolia
- bsc
- ethereum
- flare
- mumbai
- oasis_sapphire
- polygon
- sepolia
- songbird
- amoy
suite:
description: 'Suite to deploy'
required: true
type: choice
options:
- ownable-oracle-vault
- flare-ftso-oracle-price-vault
- implementations
receipt-vault-asset:
description: 'Asset that is deposited into deployed receipt vault.'
required: false
type: string
receipt-vault-name:
description: 'Name of the share token for the deployed receipt vault.'
required: false
type: string
receipt-vault-symbol:
description: 'Symbol of the share token for the deployed receipt vault.'
required: false
type: string
owner:
description: 'Owner of any ownable contracts deployed.'
required: false
type: string
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- run: |
network=${{ inputs.network }}
echo "clone_factory_name=CI_DEPLOY_${network^^}_CLONE_FACTORY_ADDRESS" >> $GITHUB_ENV
echo "erc20_price_oracle_vault_implementation_name=CI_DEPLOY_${network^^}_ERC20_PRICE_ORACLE_VAULT_IMPLEMENTATION_ADDRESS" >> $GITHUB_ENV
echo "etherscan_api_key_secret_name=CI_DEPLOY_${network^^}_ETHERSCAN_API_KEY" >> $GITHUB_ENV
echo "rpc_secret_name=CI_DEPLOY_${network^^}_RPC_URL" >> $GITHUB_ENV
echo "verify_secret_name=CI_DEPLOY_${network^^}_VERIFY" >> $GITHUB_ENV
echo "verifier_secret_name=CI_DEPLOY_${network^^}_VERIFIER" >> $GITHUB_ENV
echo "verifier_url_secret_name=CI_DEPLOY_${network^^}_VERIFIER_URL" >> $GITHUB_ENV
echo "metaboard_address_secret_name=CI_DEPLOY_${network^^}_METABOARD_ADDRESS" >> $GITHUB_ENV
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/magic-nix-cache-action@main
- name: deploy to ${{ inputs.network }}
run: nix develop -c rainix-sol-artifacts
env:
DEPLOYMENT_SUITE: ${{ inputs.suite }}
RECEIPT_VAULT_ASSET: ${{ inputs.receipt-vault-asset || '' }}
RECEIPT_VAULT_NAME: ${{ inputs.receipt-vault-name || '' }}
RECEIPT_VAULT_SYMBOL: ${{ inputs.receipt-vault-symbol || '' }}
OWNER_ADDRESS: ${{ inputs.owner || '' }}
CLONE_FACTORY : ${{ vars[env.clone_factory_name] || '' }}
ERC20_PRICE_ORACLE_VAULT_IMPLEMENTATION: ${{ vars[env.erc20_price_oracle_vault_implementation_name] || '' }}
DEPLOY_BROADCAST: '1'
DEPLOYMENT_KEY: ${{ secrets.CI_PRIVATE_KEY }}
ETH_RPC_URL: ${{ secrets[env.rpc_secret_name] || vars[env.rpc_secret_name] || '' }}
ETHERSCAN_API_KEY: ${{ secrets[env.etherscan_api_key_secret_name] || vars[env.etherscan_api_key_secret_name] || ''}}
DEPLOY_VERIFY: ${{ secrets[env.verify_secret_name] || vars[env.verify_secret_name] || '' }}
DEPLOY_VERIFIER: ${{ secrets[env.verifier_secret_name] || vars[env.verifier_secret_name] || '' }}
DEPLOY_VERIFIER_URL: ${{ secrets[env.verifier_url_secret_name] || vars[env.verifier_url_secret_name] || '' }}
DEPLOY_METABOARD_ADDRESS: ${{ secrets[env.metaboard_address_secret_name] || vars[env.metaboard_address_secret_name] || '' }}