From ae2afc0ffd00ccc29be5a3cc7651e197eb8c61f8 Mon Sep 17 00:00:00 2001 From: Chris Wanstrath Date: Thu, 2 Apr 2026 19:26:03 -0700 Subject: [PATCH] Add multi-target cross-compilation support --- scripts/publish | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/scripts/publish b/scripts/publish index 27bee5e..06a6296 100755 --- a/scripts/publish +++ b/scripts/publish @@ -4,14 +4,26 @@ set -eu NAME="shout" BECAUSE="$HOME/dev/projects/because.sh" -# Build release -cargo build --release +TARGETS=" +aarch64-apple-darwin +x86_64-unknown-linux-gnu +aarch64-unknown-linux-gnu +" -# Compress -gzip -c target/release/"$NAME" > target/release/"$NAME"-aarch64-apple-darwin.gz +for TARGET in $TARGETS; do + echo "Building $TARGET..." + case "$TARGET" in + *-apple-*) + cargo build --release --target "$TARGET" + ;; + *) + cross build --release --target "$TARGET" + ;; + esac -# Upload binary -"$BECAUSE/scripts/upload" put "$NAME/bin/$NAME-aarch64-apple-darwin.gz" target/release/"$NAME"-aarch64-apple-darwin.gz + gzip -c "target/$TARGET/release/$NAME" > "target/release/$NAME-$TARGET.gz" + "$BECAUSE/scripts/upload" put "$NAME/bin/$NAME-$TARGET.gz" "target/release/$NAME-$TARGET.gz" +done # Upload install script + landing page "$BECAUSE/scripts/upload" publish "$NAME"