Skip to content

Replace Futurenet job with real deployed-network smoke test - #204

Open
Peolite1 wants to merge 5 commits into
wraith-protocol:developfrom
Peolite1:fix-185-smoke-tests
Open

Peolite1 wants to merge 5 commits into
wraith-protocol:developfrom
Peolite1:fix-185-smoke-tests

Conversation

@Peolite1

Copy link
Copy Markdown

Replace the Futurenet job with a real deployed-network smoke test**

Closes #185

Summary

The original .github/workflows/integration-futurenet.yml job ran the in-process Soroban integration suite (the chaos tests) with continue-on-error: true. It did not adequately prove that the compiled and deployed contracts correctly operated over an authentic Futurenet RPC.

This PR addresses this by separating out the local integration tests into their own independent workflow, and repurposing the Futurenet CI job to run a complete deployment and smoke test against real on-chain canonical Futurenet contracts.

Changes

  • Separated Local Chaos Suite: Renamed and duplicated the original chaos workflow into .github/workflows/integration-chaos.yml so that the local in-process cargo test framework can continue operating independently with its artifact upload structure (chaos-test-results).
  • Real Deployed-Network Smoke Tests: Repurposed .github/workflows/integration-futurenet.yml to trigger the deploy-dryrun.sh script against the live Futurenet utilizing deterministic contract deployment (via --salt).
  • Rejected Path Verifications: Enhanced stellar/scripts/deploy-dryrun.sh to not only check for the "happy paths", but properly simulate and exercise "rejected paths" across all interacting contracts, including:
    • Wraith Names: Checking that an already claimed name rejects a subsequent register invocation (AlreadyRegistered), and resolve cleanly rejects unknown names (NotFound).
    • Announcer: Validating that providing an invalid scheme ID rejects the emission properly (InvalidSchemeId).
    • Registry/Sender: Verifying that stealth-sender rejects attempts to re-initialize an already initialized instance (AlreadyInitialized).
  • Workflow Integrity: Un-toggled continue-on-error: true in the new Futurenet job so regressions in deployment or smoke-testing will hard-fail the workflow. Results output (both logs and simulated errors) from the invocation run are uploaded safely to GitHub actions artifacts for debugging regressions.

@drips-wave

drips-wave Bot commented Sep 25, 2026

Copy link
Copy Markdown

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

@truthixify

Copy link
Copy Markdown
Contributor

The live workflow is a good step, but three rejected-path checks only warn when they fail. Duplicate registration, missing-name resolution, and invalid scheme regressions would still leave the job green. Please make every required rejected path fail the smoke job.

@truthixify

Copy link
Copy Markdown
Contributor

The rejected paths fail correctly now. The new chaos workflow still fails the supply-chain gate. Use a fixed runner image, pin checkout, rust-toolchain, and upload-artifact to full SHAs, and give cargo install an exact version. Match the existing pinned workflow conventions, then rerun CI.

@Peolite1

Copy link
Copy Markdown
Author

The live workflow is a good step, but three rejected-path checks only warn when they fail. Duplicate registration, missing-name resolution, and invalid scheme regressions would still leave the job green. Please make every required rejected path fail the smoke job.

check again sir

@truthixify

Copy link
Copy Markdown
Contributor

The rejected checks and pins are fixed, but this job can still hide failures. continue-on-error is still true, and deploy-dryrun.sh | tee loses the script exit code. Remove continue-on-error and enable pipefail for the smoke step so a regression makes the workflow fail.

@Peolite1

Peolite1 commented Oct 5, 2026

Copy link
Copy Markdown
Author

The rejected checks and pins are fixed, but this job can still hide failures. continue-on-error is still true, and deploy-dryrun.sh | tee loses the script exit code. Remove continue-on-error and enable pipefail for the smoke step so a regression makes the workflow fail.

done

@truthixify

Copy link
Copy Markdown
Contributor

The workflow now fails correctly, but the live smoke test only checks the registry NotRegistered path. Please register a meta-address, read it back, then test a rejected registry call so both paths are covered.

This branch has not been deployed

No deployments
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.

[Wave 9] Replace the Futurenet job with a real deployed-network smoke test

3 participants