- Add `show-arguments` recipe documenting all version update commands - Add `complete-update-interactive` recipe for manual confirmations - Maintain `complete-update` as automatic mode (no prompts) - Update `update-help` to reference new recipes and modes - Document 7-step workflow and step-by-step differences Changes: - complete-update: Automatic mode (recommended for CI/CD) - complete-update-interactive: Interactive mode (with confirmations) - show-arguments: Complete documentation of all commands and modes - Both modes share same 7-step workflow with different behavior in Step 4
64 lines
1.6 KiB
Bash
Executable File
64 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Nushell 0.108.0 Complete Update Script
|
|
# Direct runner - bypasses justfile sandbox limitations
|
|
# Usage: ./complete-update.sh 0.108.0
|
|
|
|
set -e
|
|
|
|
if [ -z "$1" ]; then
|
|
echo "❌ Error: VERSION parameter required"
|
|
echo "Usage: ./complete-update.sh 0.108.0"
|
|
exit 1
|
|
fi
|
|
|
|
VERSION="$1"
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/scripts"
|
|
NU_BIN="$(which nu)"
|
|
|
|
echo "🚀 Complete Nushell Update (ALL-IN-ONE)"
|
|
echo "Version: $VERSION"
|
|
echo ""
|
|
|
|
echo "Step 1/7: Downloading Nushell source..."
|
|
"$NU_BIN" "$SCRIPT_DIR/download_nushell.nu" "$VERSION"
|
|
|
|
echo ""
|
|
echo "Step 2/7: Analyzing features..."
|
|
"$NU_BIN" "$SCRIPT_DIR/analyze_nushell_features.nu" --validate
|
|
|
|
echo ""
|
|
echo "Step 3/7: Building Nushell..."
|
|
cd nushell
|
|
cargo build --release --workspace --features "mcp,plugin,sqlite,trash-support,system-clipboard,rustls-tls"
|
|
cd ..
|
|
|
|
echo ""
|
|
echo "Step 4/7: Updating plugins..."
|
|
"$NU_BIN" "$SCRIPT_DIR/update_all_plugins.nu" "$VERSION"
|
|
|
|
echo ""
|
|
echo "Step 5/7: Building plugins..."
|
|
for plugin in nu_plugin_*; do
|
|
if [ -d "$plugin" ]; then
|
|
echo " Building $plugin..."
|
|
(cd "$plugin" && cargo build --release)
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "Step 6/7: Creating distributions..."
|
|
"$NU_BIN" "$SCRIPT_DIR/create_full_distribution.nu"
|
|
|
|
echo ""
|
|
echo "Step 7/7: Validating..."
|
|
"$NU_BIN" "$SCRIPT_DIR/update_all_plugins.nu" check
|
|
|
|
echo ""
|
|
echo "✅ Complete Nushell Update Finished!"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo " 1. Review the builds in nushell/target/release/"
|
|
echo " 2. Check distribution packages in distribution/packages/"
|
|
echo " 3. Commit changes: git add -A && git commit -m 'chore: update to Nushell $VERSION'"
|