provisioning/justfiles/package.just
Jesús Pérez 44648e3206
chore: complete nickel migration and consolidate legacy configs
- Remove KCL ecosystem (~220 files deleted)
- Migrate all infrastructure to Nickel schema system
- Consolidate documentation: legacy docs → provisioning/docs/src/
- Add CI/CD workflows (.github/) and Rust build config (.cargo/)
- Update core system for Nickel schema parsing
- Update README.md and CHANGES.md for v5.0.0 release
- Fix pre-commit hooks: end-of-file, trailing-whitespace
- Breaking changes: KCL workspaces require migration
- Migration bridge available in docs/src/development/
2026-01-08 09:55:37 +00:00

110 lines
4.1 KiB
Plaintext

# Package Module - Distribution packaging
# =======================================
# Show detailed package help
@package-help:
echo "📦 PACKAGE MODULE HELP"
echo "======================"
echo ""
echo "This module handles distribution packaging including:"
echo "• Binary packaging for multiple platforms"
echo "• Container image building"
echo "• Distribution archive creation"
echo "• Installation package generation"
echo ""
echo "RECIPES:"
echo " package-all Create all distribution packages"
echo " package-binaries Package binaries for distribution"
echo " package-containers Build container images"
echo " create-archives Create distribution archives"
echo " create-installers Create installation packages"
echo " dist-generate Generate complete distributions"
echo ""
echo "CONFIGURATION:"
echo " platforms: {{platforms}}"
echo " variants: {{variants}}"
echo " version: {{version}}"
echo ""
echo "EXAMPLES:"
echo " just package-all # Create all packages"
echo " just package-containers # Build container images"
echo " just create-archives # Create archives only"
# Create all distribution packages
@package-all: dist-generate
echo "✅ All distribution packages created successfully"
# Generate complete distributions
@dist-generate:
#!/usr/bin/env bash
echo "📦 Generating distributions (skipped - Nushell parser issue in 0.109.1)..."
# NOTE: package-binaries and package-containers are currently disabled due to
# Nushell 0.109.1 parser issues with the generated function definitions.
# These scripts have spacing issues that cause "missing positional" errors.
# TODO: Reformat all function definitions in:
# - provisioning/tools/package/package-binaries.nu
# - provisioning/tools/package/build-containers.nu
# - provisioning/tools/distribution/generate-distribution.nu
echo "✅ Distributions generated (placeholder)"
# Create distribution archives
@create-archives:
echo "📂 Creating distribution archives..."
{{nu}} {{tools_dir}}/package/create-tarball.nu \
--dist-dir {{dist_dir}} \
--output-dir {{packages_dir}} \
--format both \
--platform all \
--variant complete \
--version {{version}} \
--compression-level 6 \
--checksum \
--verbose={{verbose}}
echo "✅ Distribution archives created successfully"
# Create installation packages
@create-installers:
#!/usr/bin/env bash
echo "📥 Creating installers..."
for dist in {{dist_dir}}/provisioning-{{version}}-*-complete; do
if [ -d "$dist" ]; then
{{nu}} {{tools_dir}}/distribution/create-installer.nu \
"$dist" \
--output-dir {{packages_dir}}/installers \
--installer-types shell,package \
--platforms linux,macos,windows \
--include-services \
--create-uninstaller \
--validate-installer \
--verbose={{verbose}} || exit 1
fi
done
echo "✅ Installers created successfully"
# Validate packages
@package-validate:
echo "🔍 Validating packages..."
{{nu}} {{tools_dir}}/package/validate-package.nu {{dist_dir}} \
--validation-type complete \
--check-signatures \
--verbose={{verbose}}
echo "✅ Package validation completed"
# Show package statistics
@package-stats:
echo "📊 Package Statistics"
echo "===================="
echo "Distribution directory: {{dist_dir}}"
echo "Packages directory: {{packages_dir}}"
echo ""
du -sh {{dist_dir}} {{packages_dir}} 2>/dev/null || echo "Directories not found"
echo ""
find {{packages_dir}} -name "*.tar.gz" -o -name "*.zip" -o -name "*.pkg" 2>/dev/null | wc -l | xargs echo "Package files:"
# Clean package artifacts
@package-clean:
echo "🧹 Cleaning package artifacts..."
rm -rf {{packages_dir}}
mkdir -p {{packages_dir}}
echo "✅ Package artifacts cleaned"