This document describes how automated testnet deployment works and how to set up the deployer secret.
The workflow at .github/workflows/deploy-testnet.yml deploys all contracts to Stellar testnet on each push to main, then updates README contract IDs.
- Builds optimized WASM for all contracts.
- Deploys to Stellar testnet using a dedicated deployer account.
- Updates the README testnet contract IDs table.
- Pushes README updates back to
mainwith a[skip ci]commit message. - Exposes a deployment summary as a workflow output.
Create a deployer keypair and store the secret key as a GitHub Actions secret.
- Create a testnet deployer key:
stellar keys generate --global testnet-deployer stellar keys address testnet-deployer
- Fund the account:
stellar network fund testnet-deployer --network testnet
- Add the secret to GitHub:
- Settings -> Secrets and variables -> Actions -> New repository secret
- Name:
STELLAR_TESTNET_DEPLOYER_SECRET - Value: the secret key from
stellar keys show testnet-deployer
- Use a dedicated deployer account for automation only.
- Rotate the deployer key periodically and update the secret.
- If the workflow fails to deploy, check Stellar testnet status and rerun the job.