Add optimized multi-platform release CI/CD pipeline.

Split Windows builds into shared x64 prep and arch-specific packaging, add comprehensive caching, verification scripts, and a PR smoke workflow.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-13 17:18:49 +03:00
Unverified
parent f9eb9cc438
commit 32583600d4
13 changed files with 4886 additions and 212 deletions
+29
View File
@@ -0,0 +1,29 @@
#!/usr/bin/env bash
set -euo pipefail
ARCH="${1:?usage: ci-install-linux-packaging.sh <x64|arm64>}"
sudo apt-get update
sudo apt-get install -y fakeroot rpm binutils libfuse2 wget file
case "$ARCH" in
x64)
TOOL_URL="https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
;;
arm64)
TOOL_URL="https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-aarch64.AppImage"
;;
*)
echo "Unsupported arch: $ARCH" >&2
exit 1
;;
esac
CACHE_DIR="${RUNNER_TOOL_CACHE:-/opt/hostedtoolcache}/appimagetool"
mkdir -p "$CACHE_DIR"
TOOL="$CACHE_DIR/appimagetool-${ARCH}.AppImage"
if [[ ! -f "$TOOL" ]]; then
wget -q "$TOOL_URL" -O "$TOOL"
chmod +x "$TOOL"
fi
echo "APPIMAGETOOL=$TOOL" >> "$GITHUB_ENV"