2025-10-07 11:12:02 +01:00

158 lines
5.1 KiB
Plaintext

# Development Module - Development workflows
# ==========================================
# Show detailed development help
@dev-help:
echo "🔧 DEVELOPMENT MODULE HELP"
echo "=========================="
echo ""
echo "This module provides development workflows including:"
echo "• Quick development builds"
echo "• Testing utilities and validation"
echo "• Performance benchmarking"
echo "• Development environment management"
echo ""
echo "RECIPES:"
echo " dev-build Quick development build (minimal)"
echo " test-build Test build system components"
echo " test-dist Test generated distributions"
echo " validate-all Validate all system components"
echo " benchmark Run comprehensive benchmarks"
echo " dev-setup Setup development environment"
echo ""
echo "TESTING:"
echo " test-unit Run unit tests"
echo " test-integration Run integration tests"
echo " test-e2e Run end-to-end tests"
echo ""
echo "EXAMPLES:"
echo " just dev-build # Quick build for testing"
echo " just test-dist # Test generated packages"
echo " just benchmark # Performance testing"
# Quick development build (minimal variant)
@dev-build:
echo "⚡ Quick development build..."
{{nu}} {{tools_dir}}/distribution/generate-distribution.nu quick \
--platform linux \
--variant minimal \
--output-dir {{dist_dir}}
echo "✅ Development build completed"
# Test build system components
@test-build:
echo "🧪 Testing build system..."
{{nu}} {{tools_dir}}/build/compile-platform.nu \
--target {{rust_target}} \
--release \
--output-dir {{dist_dir}}/test \
--verbose
echo "✅ Build system test completed"
# Test generated distributions
@test-dist:
echo "🧪 Testing distributions..."
{{nu}} {{tools_dir}}/build/test-distribution.nu \
--dist-dir {{dist_dir}} \
--test-types basic \
--platform `uname -s | tr '[:upper:]' '[:lower:]'` \
--cleanup \
--verbose={{verbose}}
echo "✅ Distribution testing completed"
# Validate all system components
@validate-all:
echo "🔍 Validating all components..."
{{nu}} {{tools_dir}}/build/validate-kcl.nu --verbose={{verbose}}
{{nu}} {{tools_dir}}/package/validate-package.nu {{dist_dir}} --validation-type complete
echo "✅ Component validation completed"
# Run comprehensive benchmarks
@benchmark:
echo "⏱️ Running build benchmarks..."
echo "Starting benchmark at: $(date)"
time just build-platform BUILD_MODE=release
echo "Build benchmark completed at: $(date)"
# Setup development environment
@dev-setup:
echo "🛠️ Setting up development environment..."
just check-tools
just create-dirs
echo "Installing development dependencies..."
{{cargo}} install --locked cargo-watch cargo-audit
echo "✅ Development environment setup completed"
# Watch for changes and rebuild (development mode)
@dev-watch:
echo "👁️ Watching for changes..."
{{cargo}} watch -x "build --release" -w provisioning/platform/orchestrator/src
# Run unit tests
@test-unit:
echo "🧪 Running unit tests..."
{{cargo}} test --workspace --lib
echo "✅ Unit tests completed"
# Run integration tests
@test-integration:
echo "🧪 Running integration tests..."
{{cargo}} test --workspace --test '*'
echo "✅ Integration tests completed"
# Run end-to-end tests
@test-e2e:
echo "🧪 Running end-to-end tests..."
{{nu}} {{tools_dir}}/test/e2e-tests.nu \
--dist-dir {{dist_dir}} \
--cleanup \
--verbose={{verbose}}
echo "✅ End-to-end tests completed"
# Run all tests
@test-all: test-unit test-integration test-e2e test-dist
echo "✅ All tests completed successfully"
# Performance profiling
@profile:
echo "📊 Running performance profiling..."
{{cargo}} build --release --bin orchestrator
echo "Build completed. Run profiler manually on target/release/orchestrator"
# Code quality checks
@quality:
echo "✨ Running code quality checks..."
{{cargo}} fmt --check
{{cargo}} clippy --all-targets --all-features -- -D warnings
{{cargo}} audit
echo "✅ Code quality checks completed"
# Development clean (preserve cache)
@dev-clean:
echo "🧹 Development clean..."
{{cargo}} clean
rm -rf {{dist_dir}}/test
echo "✅ Development artifacts cleaned"
# Show development status
@dev-status:
echo "🔧 DEVELOPMENT STATUS"
echo "===================="
echo "Git branch: $(git rev-parse --abbrev-ref HEAD)"
echo "Git status:"
git status --porcelain | head -10
echo ""
echo "Rust toolchain:"
{{cargo}} --version
rustc --version
echo ""
echo "Build targets:"
rustup target list --installed
echo ""
echo "Development directories:"
ls -la {{dist_dir}} 2>/dev/null || echo " No dist directory"
# Interactive development shell
@dev-shell:
echo "🐚 Starting development shell..."
{{nu}} -e "use provisioning/core/nulib/main.nu *; print 'Provisioning development environment loaded'"