Skip to content

CI and Soroban test automation#167

Merged
ogazboiz merged 4 commits intoLabsCrypt:mainfrom
bakarezainab:CI-and-Soroban-test-automation
Feb 25, 2026
Merged

CI and Soroban test automation#167
ogazboiz merged 4 commits intoLabsCrypt:mainfrom
bakarezainab:CI-and-Soroban-test-automation

Conversation

@bakarezainab
Copy link
Copy Markdown
Contributor

@bakarezainab bakarezainab commented Feb 24, 2026

Description

This PR establishes a comprehensive Continuous Integration (CI) pipeline using GitHub Actions. It automates linting, building, and testing across the entire monorepo—including the frontend (Next.js), backend (Axum/Express), and smart contracts (Soroban/Rust)—ensuring that every pull request maintains high code quality and functional integrity.

Related Issues

Closes #130

Changes Made

  • GitHub Actions Workflow: Created .github/workflows/ci.yml with the following automated jobs:
    • Frontend: Installs dependencies (with caching), runs ESLint, and verifies the Next.js build.
    • Backend: Sets up a PostgreSQL service container, handles Prisma client generation, builds TypeScript source, and executes the vitest suite.
    • Smart Contracts: Configures the Rust toolchain for the wasm32-unknown-unknown target, implements Rust caching, builds WASM contracts, and runs all workspace tests.
  • Documentation: Enhanced CONTRIBUTING.md with:
    • Details about the new CI workflow.
    • A step-by-step guide for contributors to run all CI-level checks locally to minimize feedback loops.

Testing

The workflow was designed to match the project's existing scripts (package.json and Cargo.toml). Caching was implemented for both Node and Rust to keep execution times under 5 minutes.

Test Coverage

Unit tests added/updated (Contract and Backend tests now run automatically)
Integration tests added/updated (Backend tests run against a live PG container)
Manual testing performed (Verified local execution steps in CONTRIBUTING.md)

Test Steps

To verify these changes locally, follow the instructions added to CONTRIBUTING.md:

  1. Frontend: cd frontend && npm run lint && npm run build
  2. Backend: cd backend && npm run build && npm run test
  3. Contracts: cd contracts && cargo build --target wasm32-unknown-unknown --release && cargo test
    Checklist
    My code follows the project's style guidelines
    I have performed a self-review of my own code
    I have made corresponding changes to the documentation
    My changes generate no new warnings
    New and existing unit tests pass locally with my changes
    I have checked for breaking changes and documented them if applicable

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published
  • I have checked for breaking changes and documented them if applicable

Copy link
Copy Markdown
Contributor

@ogazboiz ogazboiz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hey! thanks for jumping in and setting up the Soroban test automation!

just a heads up: we actually just merged another PR (#118) that set up the CI pipeline (.github/workflows/test.yml). since these changes overlap, could you check out test.yml on main and see if there's anything your ci.yml is doing better that should be ported over?

if the existing test.yml covers everything, feel free to close this PR. thanks again!

@ogazboiz ogazboiz merged commit aefb105 into LabsCrypt:main Feb 25, 2026
4 of 7 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

Development

Successfully merging this pull request may close these issues.

Epic: CI and Soroban test automation

2 participants