Documentation Index
Fetch the complete documentation index at: https://docs.cirron.com/llms.txt
Use this file to discover all available pages before exploring further.
cirron build
Build ML models and Docker containers for your projects with intelligent project detection, validation, and registry configuration. The build command handles both ML model compilation and traditional application builds.Usage
Options
| Option | Description | Default |
|---|---|---|
--env, -e | Environment (development, staging, production) | development |
--arch, -a | Target architecture (cpu, cuda, gpu) | Auto-detected |
--index | Path to index/manifest file | null |
--validate | Run validation checks before build | false |
--strict | Enable strict error handling | false |
--clean | Clean output directory before build | false |
--watch, -w | Run build in watch mode | false |
--analyze | Analyze build output after completion | false |
--push | Push Docker image to registry after build | false |
--tag, -t | Tag for the Docker image | Auto-generated |
-f, --force | Force build despite warnings | false |
-i, --interactive | Step-by-step build confirmations | false |
Build Types
ML Model Builds
For projects with ML frameworks (PyTorch, TensorFlow, Scikit-learn):ML Build Process
- Architecture Detection: Determines target architecture (CPU/CUDA/GPU)
- Validation: Checks model files, dependencies, and environment
- Model Compilation: Compiles model for target architecture
- Artifact Generation: Creates model files and metadata
- Integrity Testing: Verifies generated artifacts
- Container Build: Builds Docker image if Dockerfile exists
- Registry Push: Pushes image to registry if requested
Traditional Application Builds
For non-ML projects with build configuration:Traditional Build Process
- Configuration Loading: Reads build settings from
cirron.yaml - Environment Setup: Sets environment variables
- Pre-build Commands: Runs configured pre-build steps
- Main Build: Executes the build command
- Post-build Commands: Runs configured post-build steps
- Analysis: Analyzes build output if requested
Configuration
ML Project Configuration
Traditional Project Configuration
Architecture Support
CPU Architecture
- Optimized for CPU inference
- Compatible with all frameworks
- Lightweight deployment
CUDA Architecture (PyTorch)
- GPU-accelerated inference for PyTorch
- Requires CUDA-compatible hardware
- Validates CUDA availability
GPU Architecture (TensorFlow)
- GPU-accelerated inference for TensorFlow
- Requires GPU-compatible hardware
- Validates GPU availability
Examples
ML Model Builds
Traditional Application Builds
Docker Integration
Build Output
ML Build Results
Traditional Build Results
Build Analysis
Environment Variables
The CLI automatically sets these environment variables during build:| Variable | Description | Example |
|---|---|---|
NODE_ENV | Node environment | production or development |
CIRRON_ENV | Cirron environment | development, staging, production |
cirron.yaml:
Docker Integration
Image Naming
Images are named using the format:registry/organization/project:tag
Docker Ignore Integration
The build command automatically integrates.cirronignore patterns into .dockerignore:
Validation
ML Model Validation
- Required Files: Checks for
src/model.pyandrequirements.txt - Python Version: Validates Python version compatibility
- GPU Requirements: Checks CUDA/GPU availability for GPU architectures
- Model Creation: Tests model instantiation
- Index Files: Validates index file format and content
Traditional Build Validation
- Build Configuration: Verifies build settings in
cirron.yaml - Command Availability: Checks if build commands exist
- Dependencies: Validates required dependencies
- Output Directory: Ensures output directory is writable
Watch Mode
Use--watch for development with automatic rebuilds:
Error Handling
Common Errors
Missing Project Configuration
Build Command Failure
GPU Validation Failure
Recovery Actions
-
Build Failures
-
Docker Build Issues
-
Registry Push Issues
Integration
CI/CD Pipeline
Development Workflow
Best Practices
ML Model Builds
- Use Validation: Always run
--validatefor production builds - Architecture Selection: Choose appropriate architecture for deployment
- Index Files: Use index files for complex model configurations
- Containerization: Include Dockerfile for deployment
Traditional Builds
- Environment-Specific: Use different environments for different stages
- Clean Builds: Use
--cleanfor production builds - Build Analysis: Regular analysis helps optimize bundle size
- Watch Mode: Use watch mode for development efficiency
Docker Best Practices
- Registry Configuration: Set up proper registry and organization
- Image Tagging: Use meaningful tags for version management
- Ignore Patterns: Configure
.cirronignorefor efficient builds - Push Strategy: Push images after successful builds
Troubleshooting
Performance Issues
- Large Models: ML builds may take longer for large models
- Docker Builds: Use
.dockerignoreto exclude unnecessary files - Network Issues: Check registry connectivity for push operations
Build Failures
- Dependencies: Ensure all dependencies are installed
- Permissions: Check file and directory permissions
- Disk Space: Verify sufficient disk space for builds
- Memory: Large builds may require more memory
Debugging Tips
- Verbose Mode: Set
CIRRON_VERBOSE=1for detailed output - Dry Run: Use validation to check configuration before building
- Log Analysis: Check build logs for specific error messages
- Environment Check: Verify environment matches requirements