Skip to content

Add Soroban contracts CI pipeline with build, lint, test, and artifact upload#2

Closed
Depo-dev wants to merge 2 commits into
mainfrom
feat/soroban-ci-pipeline
Closed

Add Soroban contracts CI pipeline with build, lint, test, and artifact upload#2
Depo-dev wants to merge 2 commits into
mainfrom
feat/soroban-ci-pipeline

Conversation

@Depo-dev
Copy link
Copy Markdown
Owner

@Depo-dev Depo-dev commented Mar 23, 2026

Summary

Implements dedicated Soroban CI job (Issue Suncrest-Labs#24) to validate Rust/WASM contracts in the build pipeline.

  • Builds all contracts to WASM with release optimizations
  • Enforces code formatting and clippy linting
  • Runs unit and integration tests
  • Uploads compiled WASM artifacts for deployments
  • Caches Cargo builds for >50% performance improvement
  • Job triggers only on contract code changes

Test Plan

  • CI job executes on contract code changes
  • Format check fails on formatting violations
  • Clippy reports zero warnings
  • Build produces .wasm files in target/wasm32-unknown-unknown/release/
  • All unit tests pass
  • All integration tests pass
  • WASM artifacts download from GitHub Actions
  • Cargo cache hits on subsequent runs
  • No changes to other CI jobs

Closes Suncrest-Labs#24

…rtifact upload

- Add soroban-contracts job to CI workflow with path filtering
- Implement Rust/WASM toolchain setup with wasm32 target
- Configure Cargo caching for >50% performance improvement
- Add Makefile with fmt-check, clippy, build, test, integration-test targets
- Upload compiled WASM artifacts for deployable artifact reuse
- Job only triggers on contract code changes

Performance targets: clean <10m, cached <5m
Quality standard: 8/10+ (reliability, determinism, performance)
- Change Makefile to work from packages/contracts directory instead of using --manifest-path
- Add missing Cargo.toml for hello_world contract package
- Fix incomplete hello_world contract code (dangling pub, missing impl body)
- Remove non-existent test module reference

Fixes CI job fmt-check and clippy execution
@Depo-dev Depo-dev closed this Mar 23, 2026
@Depo-dev Depo-dev deleted the feat/soroban-ci-pipeline branch March 23, 2026 22:05
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 Soroban contracts to CI pipeline with build, lint, and test stages

1 participant