-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.sh
More file actions
executable file
·53 lines (44 loc) · 1.3 KB
/
package.sh
File metadata and controls
executable file
·53 lines (44 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/sh
set -e
# Configuration
BINARY_NAME="json-diff"
OUTPUT_DIR="target/release"
# Build optimized binary
echo "Building release binary..."
cargo build --release
# Detect OS and Arch
OS_RAW="$(uname -s)"
ARCH_RAW="$(uname -m)"
# Normalize Arch
if [ "$ARCH_RAW" = "x86_64" ]; then
ARCH="x86_64"
elif [ "$ARCH_RAW" = "arm64" ] || [ "$ARCH_RAW" = "aarch64" ]; then
ARCH="aarch64"
else
echo "Warning: Unknown arch $ARCH_RAW"
ARCH="$ARCH_RAW"
fi
# Normalize OS
if [ "$OS_RAW" = "Darwin" ]; then
OS="apple-darwin"
elif [ "$OS_RAW" = "Linux" ]; then
OS="unknown-linux-gnu"
else
echo "Warning: Unknown OS $OS_RAW"
OS="$OS_RAW"
fi
PACKAGE_NAME="${BINARY_NAME}-${ARCH}-${OS}.tar.gz"
echo "Packaging for ${OS}/${ARCH}..."
# Create tarball
tar -czf "$PACKAGE_NAME" -C "$OUTPUT_DIR" "$BINARY_NAME"
echo "---------------------------------------------------"
echo "Success! Package created: $PACKAGE_NAME"
echo ""
echo "Next Steps:"
echo "1. Go to https://github.com/stevenselcuk/json-diff/releases/new"
echo "2. Create a new release (e.g., v0.1.0)"
echo "3. Upload '$PACKAGE_NAME' as an asset."
echo ""
echo "Your users can then install it with:"
echo "curl -fsSL https://raw.githubusercontent.com/stevenselcuk/json-diff/main/install.sh | sh"
echo "---------------------------------------------------"