72 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			72 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|  | #!/bin/bash
 | ||
|  | set -e | ||
|  | 
 | ||
|  | # Get version from deno.json | ||
|  | VERSION=$(cat deno.json | grep -o '"version": *"[^"]*"' | cut -d'"' -f4) | ||
|  | BINARY_DIR="dist/binaries" | ||
|  | 
 | ||
|  | echo "================================================" | ||
|  | echo "  SPARK Compilation Script" | ||
|  | echo "  Version: ${VERSION}" | ||
|  | echo "================================================" | ||
|  | echo "" | ||
|  | echo "Compiling for all supported platforms..." | ||
|  | echo "" | ||
|  | 
 | ||
|  | # Clean up old binaries and create fresh directory | ||
|  | rm -rf "$BINARY_DIR" | ||
|  | mkdir -p "$BINARY_DIR" | ||
|  | echo "→ Cleaned old binaries from $BINARY_DIR" | ||
|  | echo "" | ||
|  | 
 | ||
|  | # Linux x86_64 | ||
|  | echo "→ Compiling for Linux x86_64..." | ||
|  | deno compile --allow-all --no-check --output "$BINARY_DIR/spark-linux-x64" \
 | ||
|  |   --target x86_64-unknown-linux-gnu mod.ts | ||
|  | echo "  ✓ Linux x86_64 complete" | ||
|  | echo "" | ||
|  | 
 | ||
|  | # Linux ARM64 | ||
|  | echo "→ Compiling for Linux ARM64..." | ||
|  | deno compile --allow-all --no-check --output "$BINARY_DIR/spark-linux-arm64" \
 | ||
|  |   --target aarch64-unknown-linux-gnu mod.ts | ||
|  | echo "  ✓ Linux ARM64 complete" | ||
|  | echo "" | ||
|  | 
 | ||
|  | # macOS x86_64 | ||
|  | echo "→ Compiling for macOS x86_64..." | ||
|  | deno compile --allow-all --no-check --output "$BINARY_DIR/spark-macos-x64" \
 | ||
|  |   --target x86_64-apple-darwin mod.ts | ||
|  | echo "  ✓ macOS x86_64 complete" | ||
|  | echo "" | ||
|  | 
 | ||
|  | # macOS ARM64 | ||
|  | echo "→ Compiling for macOS ARM64..." | ||
|  | deno compile --allow-all --no-check --output "$BINARY_DIR/spark-macos-arm64" \
 | ||
|  |   --target aarch64-apple-darwin mod.ts | ||
|  | echo "  ✓ macOS ARM64 complete" | ||
|  | echo "" | ||
|  | 
 | ||
|  | # Windows x86_64 | ||
|  | echo "→ Compiling for Windows x86_64..." | ||
|  | deno compile --allow-all --no-check --output "$BINARY_DIR/spark-windows-x64.exe" \
 | ||
|  |   --target x86_64-pc-windows-msvc mod.ts | ||
|  | echo "  ✓ Windows x86_64 complete" | ||
|  | echo "" | ||
|  | 
 | ||
|  | echo "================================================" | ||
|  | echo "  Compilation Summary" | ||
|  | echo "================================================" | ||
|  | echo "" | ||
|  | ls -lh "$BINARY_DIR/" | tail -n +2 | ||
|  | echo "" | ||
|  | echo "✓ All binaries compiled successfully!" | ||
|  | echo "" | ||
|  | echo "Binary location: $BINARY_DIR/" | ||
|  | echo "" | ||
|  | echo "To create a release:" | ||
|  | echo "  1. Test the binaries on their respective platforms" | ||
|  | echo "  2. Create a git tag: git tag v${VERSION}" | ||
|  | echo "  3. Push the tag: git push origin v${VERSION}" | ||
|  | echo "  4. Upload the binaries to the release" | ||
|  | echo "" |