This GitHub Action allows you to automate smart contract deployments across multiple networks using BuildBear’s infrastructure. With a setup, you can deploy contracts on the specified networks, making it easier to manage multi-network deployments in your CI/CD pipeline.
- Deploys smart contracts on specified networks.
- Integrates seamlessly with the BuildBear platform.
- Supports custom deployment commands and network specifications.
Name | Description | Required |
---|---|---|
network |
List of networks to deploy on, with chainId and optional blockNumber . Example format provided below. |
true |
deploy-command |
Command to deploy the contract, such as make deploy . |
true |
buildbear-token |
Your BuildBear API token for authentication. | true |
working-directory |
Path to the directory containing the project. Default is the root directory. | false |
The network
input is expected as a JSON array containing network details, each with chainId
and optionally a blockNumber
:
[
{
"chainId": 1,
"blockNumber": 12000000 // Optional
},
{
"chainId": 10
}
]
During the execution of this action, the following environment variables are available:
BUILDBEAR_RPC_URL
: The RPC URL provided by BuildBear, enabling connections to the sandbox.MNEMONIC
: A 12- or 24-word mnemonic phrase used for signing transactions during deployment.
Name | Description |
---|---|
deployments |
Logs from deployments. |
In your GitHub workflow file, you can set up this action as follows:
name: deploy to BuildBear Sandbox
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Show Forge version
run: forge --version
- name: Run BB Action CI
uses: BuildBearLabs/[email protected]
with:
network: |
[
{
"chainId": 1,
"blockNumber": 12000000 // Optional block number
},
{
"chainId": 10
}
]
deploy-command: "make deploy"
buildbear-token: "${{ secrets.BUILDBEAR_TOKEN }}"
Note: Ensure that the
buildbear-token
is securely stored as a secret in your GitHub repository underBUILDBEAR_TOKEN
.
- Set up GitHub Secrets: Add your BuildBear API token as a secret in your repository settings.
- Define Networks: In the
network
input, specify the networks and optional block numbers for deployment. - Add Deployment Command: Define the deployment command under
deploy-command
. - Run Workflow: Trigger the workflow on push or any specified event to deploy contracts on the selected networks.
- Ensure the
deploy-command
matches the command in your project for deploying contracts. - This action requires Node.js 20 (
node20
) to run the main deployment script.