| name | build-run-local |
| description | Run local builds with proper environment setup. Use when building code locally to verify changes before pushing. |
| category | ci |
| mcp_fallback | none |
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
eval "$(pixi shell-hook)"
pixi run mojo --version
pixi run mojo build -I . shared/core/extensor.mojo
pixi run mojo test -I . tests/shared/core/
pixi run mojo test -I . tests/shared/core/test_extensor.mojo
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-hook activates the pixi environment
- Sets MOJO_PATH and compiler flags
- Matches CI environment configuration
Build Flags:
-I . includes current directory in path
-O enables optimizations for release builds
--no-warn-unused suppresses specific warnings (use sparingly)
Test Flags:
-I . for module resolution
-v for 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