23 lines
847 B
Bash
23 lines
847 B
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
version="${1:?usage: docker-build-installer.sh VERSION}"
|
|
container_id="$(docker create --platform linux/amd64 \
|
|
amake/innosetup:innosetup6 \
|
|
"/DMyAppVersion=$version" installer/AnabasisManager.iss)"
|
|
trap 'docker rm -f "$container_id" > /dev/null 2>&1 || true' EXIT
|
|
|
|
docker cp installer "$container_id:/work/"
|
|
# Inno Setup runs as xclient; docker cp otherwise creates root-owned output directories.
|
|
chmod -R a+rwX dist
|
|
docker cp dist "$container_id:/work/"
|
|
docker cp icon.ico "$container_id:/work/"
|
|
docker start -a "$container_id" || true
|
|
status="$(docker inspect --format '{{.State.ExitCode}}' "$container_id")"
|
|
if [ "$status" -ne 0 ]; then
|
|
echo "Inno Setup container failed with exit code $status" >&2
|
|
exit "$status"
|
|
fi
|
|
|
|
docker cp "$container_id:/work/dist/AnabasisManager-setup-$version.exe" dist/
|