Build and Run Local
Execute local builds with environment setup matching CI pipeline.
When to Use
- •Building code locally before pushing
- •Testing individual components locally
- •Verifying changes work before creating PR
- •Running tests in local environment
- •Debugging build issues in isolation
Quick Reference
bash
# Activate environment eval "$(pixi shell-hook)" pixi run mojo --version # Build project pixi run mojo build -I . shared/core/extensor.mojo # Run tests pixi run mojo test -I . tests/shared/core/ # Run specific test pixi run mojo test -I . tests/shared/core/test_extensor.mojo # Format code pixi run mojo format .
Workflow
- •Activate environment: Use pixi to setup environment
- •Verify environment: Check mojo version and dependencies
- •Build locally: Run mojo build with proper flags
- •Run tests: Execute test suite locally
- •Check warnings: Verify zero-warnings policy compliance
- •Run pre-commit: Validate formatting and linting
- •Commit changes: Only after local verification passes
Build Configuration
Environment Setup:
- •
pixi shell-hookactivates the pixi environment - •Sets MOJO_PATH and compiler flags
- •Matches CI environment configuration
Build Flags:
- •
-I .includes current directory in path - •
-Oenables optimizations for release builds - •
--no-warn-unusedsuppresses specific warnings (use sparingly)
Test Flags:
- •
-I .for module resolution - •
-vfor verbose output - •
-k "pattern"to run specific tests
Output Format
Report build results with:
- •Status - Success or failure
- •Warnings - Any compiler warnings found (must be zero)
- •Test Results - Passed/failed counts
- •Build Time - Performance metrics
- •Issues - Any errors encountered
Error Handling
| Problem | Solution |
|---|---|
| Environment not found | Run pixi shell-hook to activate |
| Module not found | Verify -I . flag and correct paths |
| Permission denied | Check file permissions and ownership |
| Out of memory | Reduce parallel jobs or simplify test |
| Timeout | Check for infinite loops or long operations |
References
- •See pixi.toml for available tasks and configuration
- •See CLAUDE.md for zero-warnings policy
- •See mojo-test-runner skill for advanced testing