Skip to content

feat(scripts): add testnet deploy script and CI validation#441

Merged
PrincessnJoy merged 2 commits into
PrincessnJoy:mainfrom
ladinoraa:feat/deploy-script-validation-324
Jun 27, 2026
Merged

feat(scripts): add testnet deploy script and CI validation#441
PrincessnJoy merged 2 commits into
PrincessnJoy:mainfrom
ladinoraa:feat/deploy-script-validation-324

Conversation

@ladinoraa

Copy link
Copy Markdown
Contributor

Summary

Closes #324

Deployment scripts had no CI validation, meaning broken scripts could be merged silently. This PR adds a dedicated testnet script with built-in dry-run validation, a CI workflow that checks both scripts on every PR, and documentation for all required inputs.

Changes

scripts/deploy_testnet.sh (new)

  • Dedicated script for Stellar testnet deployments (hardcoded passphrase/RPC)
  • DRY_RUN=1 mode: validates all required inputs without making any network calls
    • Checks numeric variables contain only digits
    • Validates RESTRICT_ADMIN_VOTE is true or false
    • Validates STELLAR_SECRET_KEY matches Stellar secret key format (S[A-Z2-7]{55})
    • Exits 0 on success, 1 with descriptive error message on failure

.github/workflows/deploy-validation.yml (new)

Three jobs triggered on any PR touching deploy scripts:

  1. shellcheck — static analysis at -S warning severity
  2. dry-run-testnet — executes deploy_testnet.sh with DRY_RUN=1 and stub key
  3. dry-run-mainnetbash -n syntax check (no execution; mainnet script is interactive)

docs/deployment.md (new)

  • Full required/optional inputs table
  • Dry-run usage instructions
  • CI validation description

Testing

The dry-run mode was validated locally with valid and invalid inputs covering each validation path.

ladinoraa and others added 2 commits June 26, 2026 07:52
…Joy#324)

- Add scripts/deploy_testnet.sh: testnet-specific deploy script with
  DRY_RUN=1 mode that validates all required inputs without network calls
- Add .github/workflows/deploy-validation.yml: CI that runs shellcheck
  on deploy_testnet.sh and deploy_mainnet.sh, plus dry-run execution of
  deploy_testnet.sh and bash -n syntax check of deploy_mainnet.sh
- Add docs/deployment.md: required inputs table, dry-run instructions,
  and CI validation documentation

Closes PrincessnJoy#324
@PrincessnJoy PrincessnJoy merged commit 51a0d79 into PrincessnJoy:main Jun 27, 2026
1 of 5 checks passed
@drips-wave

drips-wave Bot commented Jun 27, 2026

Copy link
Copy Markdown

@ladinoraa Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add automated testnet deployment script validation

2 participants