Added startup setup

This commit is contained in:
Uber Veng
2026-05-22 01:00:57 +07:00
parent 8fe8af2962
commit 3fafc71cdd
5 changed files with 254 additions and 178 deletions

55
release.sh Executable file
View File

@@ -0,0 +1,55 @@
#!/bin/bash
set -e
BINARY=$(cargo metadata --no-deps --format-version 1 | python3 -c "import sys,json; print(json.load(sys.stdin)['packages'][0]['name'])")
VERSION=$(cargo metadata --no-deps --format-version 1 | python3 -c "import sys,json; print(json.load(sys.stdin)['packages'][0]['version'])")
OUT_DIR="dist"
TARGETS=(
"x86_64-unknown-linux-musl:linux-x86_64"
"aarch64-unknown-linux-musl:linux-aarch64"
"aarch64-apple-darwin:macos-aarch64"
)
echo "Building $BINARY v$VERSION"
echo ""
# Ensure rustup targets are installed
rustup target add \
x86_64-unknown-linux-musl \
aarch64-unknown-linux-musl \
aarch64-apple-darwin 2>/dev/null
mkdir -p "$OUT_DIR"
# Clean previous release artifacts
rm -f "$OUT_DIR/$BINARY"-*
for entry in "${TARGETS[@]}"; do
RUST_TARGET="${entry%%:*}"
LABEL="${entry##*:}"
ARTIFACT="$OUT_DIR/${BINARY}-${LABEL}"
echo "── $LABEL ($RUST_TARGET)"
case "$RUST_TARGET" in
x86_64-unknown-linux-musl)
CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_LINKER=x86_64-linux-musl-gcc \
cargo build --release --target "$RUST_TARGET" --quiet
;;
aarch64-unknown-linux-musl)
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=aarch64-linux-musl-gcc \
cargo build --release --target "$RUST_TARGET" --quiet
;;
aarch64-apple-darwin)
cargo build --release --target "$RUST_TARGET" --quiet
;;
esac
cp "target/$RUST_TARGET/release/$BINARY" "$ARTIFACT"
SIZE=$(du -sh "$ARTIFACT" | cut -f1)
echo "$ARTIFACT ($SIZE)"
done
echo ""
echo "Done. Artifacts in $OUT_DIR/:"
ls -lh "$OUT_DIR/$BINARY"-*