MeshChatX/scripts/ci/github-verify-electron-dist.sh

49 lines
1.4 KiB
Bash
Executable file

#!/usr/bin/env bash
# Fail when expected Electron installer outputs are missing under dist/.
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
cd "$ROOT"
platform="${1:?usage: $0 mac|win|flatpak}"
if [[ ! -d dist ]]; then
echo "dist/ is missing after electron-builder" >&2
exit 1
fi
shopt -s nullglob
case "$platform" in
mac)
dmgs=(dist/*.dmg dist/mac/*.dmg dist/mac-universal/*.dmg dist/mac-arm64/*.dmg dist/mac-x64/*.dmg)
if [[ ${#dmgs[@]} -eq 0 ]]; then
echo "No macOS .dmg under dist/" >&2
find dist -maxdepth 4 -type f 2>/dev/null | head -80 >&2 || true
exit 1
fi
printf 'macOS DMG: %s\n' "${dmgs[@]}"
;;
win)
exes=(dist/*.exe)
if [[ ${#exes[@]} -eq 0 ]]; then
echo "No Windows .exe under dist/" >&2
find dist -maxdepth 4 -type f 2>/dev/null | head -80 >&2 || true
exit 1
fi
printf 'Windows installer: %s\n' "${exes[@]}"
;;
flatpak)
bundles=(dist/*.flatpak)
if [[ ${#bundles[@]} -eq 0 ]]; then
echo "No .flatpak under dist/" >&2
find dist -maxdepth 4 -type f 2>/dev/null | head -80 >&2 || true
exit 1
fi
printf 'Flatpak bundle: %s\n' "${bundles[@]}"
;;
*)
echo "unknown platform: ${platform}" >&2
exit 1
;;
esac