Skip to content

feat: add deploy dry-run, mainnet CI target, rollback procedure, and versioning policy - #1295

Merged
Gbangbolaoluwagbemiga merged 1 commit into
HyperSafeD:mainfrom
devsimze:feat/deploy-dryrun-mainnet-rollback-versioning
Jul 29, 2026
Merged

feat: add deploy dry-run, mainnet CI target, rollback procedure, and versioning policy#1295
Gbangbolaoluwagbemiga merged 1 commit into
HyperSafeD:mainfrom
devsimze:feat/deploy-dryrun-mainnet-rollback-versioning

Conversation

@devsimze

Copy link
Copy Markdown
Contributor

Summary

Implements four mainnet-readiness deployment operations issues (A3 workstream).

Changes

#1135 — Deploy dry-run mode

  • scripts/deploy.sh rewritten with --dry-run, --confirm-mainnet, --wasm flags
  • Dry-run uses soroban contract simulate (preflight) instead of soroban contract deploy
  • Prints transaction summary (WASM hash, size, network, signer) without broadcasting
  • Exits 0 only if simulation succeeds

#1136 — Mainnet CI target with manual approval

  • Added target input (testnet | mainnet) to workflow_dispatch
  • Refactored into shared build + testnet-deploy + mainnet-deploy + summary jobs
  • mainnet-deploy job gated behind mainnet GitHub Environment (requires reviewer approval)
  • Uses SOROBAN_MAINNET_SECRET_KEY and runs dry-run before live deploy with --confirm-mainnet

#1137 — Rollback procedure

#1138 — Versioning policy

  • VERSIONING_POLICY.md defining semver for CLI flags, SARIF/JSON output schemas, rule set changes, exit codes, and library API
  • Cross-references schemas/analysis-output.json and schemas/sarif-2.1.0.json
  • Linked from CHANGELOG.md and README.md

Files changed

  • .github/workflows/soroban-deploy.yml — mainnet target + shared build
  • scripts/deploy.sh — dry-run + confirm-mainnet
  • ROLLBACK_PROCEDURE.md — new file
  • VERSIONING_POLICY.md — new file
  • CHANGELOG.md — link to versioning policy
  • README.md — links to both new docs

Closes #1135
Closes #1136
Closes #1137
Closes #1138

…versioning policy

Implements four mainnet-readiness issues:

- scripts/deploy.sh: add --dry-run mode (simulate instead of broadcast),
  --confirm-mainnet guard, and --wasm path option (HyperSafeD#1135)
- .github/workflows/soroban-deploy.yml: add mainnet deployment target
  gated behind GitHub Environment with manual approval (HyperSafeD#1136)
- ROLLBACK_PROCEDURE.md: document 5 failure scenarios with circuit-breaker,
  proxy redeploy, and timelock mitigations (HyperSafeD#1137)
- VERSIONING_POLICY.md: define semver policy for CLI, output schemas,
  rule sets, exit codes, and library API (HyperSafeD#1138)

Closes HyperSafeD#1135
Closes HyperSafeD#1136
Closes HyperSafeD#1137
Closes HyperSafeD#1138
@vercel

vercel Bot commented Jul 29, 2026

Copy link
Copy Markdown

@Abidoyesimze is attempting to deploy a commit to the gbangbolaoluwagbemiga's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jul 29, 2026

Copy link
Copy Markdown

@devsimze 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

@Gbangbolaoluwagbemiga
Gbangbolaoluwagbemiga merged commit 3f68b1d into HyperSafeD:main Jul 29, 2026
16 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants