This directory contains GitHub Actions workflows for automated testing and validation.
Purpose: Prevents regressions by running all test suites and linting on every pull request to main.
Triggers:
- Pull requests targeting the
mainbranch
What it does:
- Setup: Installs Rust (stable) and Node.js (v20) with dependency caching
- Dependency Installation: Uses
npm installfor both backend and frontend - Code Quality: Runs linting on both backend and frontend (if configured)
- Backend Tests: Runs
npm testin/backend(Vitest + TypeScript) - Frontend Tests: Runs
npm test --if-presentin/frontend(no test framework configured yet) - Smart Contract Tests: Runs
cargo testin/contracts(Rust)
Failure Behavior:
- Workflow fails if any test or linting step fails
- Blocks PR merge until all checks pass
- Uses
--if-presentto avoid failures when test scripts are missing
Requirements for Contributors:
- Ensure lint and test scripts are properly configured in
package.json - Tests must pass in all directories where they exist
- New dependencies should be added to respective
package.jsonfiles - Backend uses Vitest, frontend has no test framework configured yet
- react-hot-toast is available as a root dependency
Note: The workflow uses continue-on-error: false to ensure strict validation - any failure will prevent the PR from being merged.