Prepare Alpine artifact deploy workflow

This commit is contained in:
2026-05-26 06:44:12 +07:00
parent f0ceebbbc8
commit 76b37cd4c8
11 changed files with 288 additions and 48 deletions

View File

@ -2,21 +2,26 @@
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
IMAGE="${DOCKER_IMAGE:-node:20-bookworm-slim}"
ARTIFACT_NAME="${ARTIFACT_NAME:-abelbirdnest-release.tar.gz}"
IMAGE="${DOCKER_IMAGE:-node:20-alpine}"
RELEASE_STAMP="${RELEASE_STAMP:-$(date +%Y%m%d-%H%M%S)}"
ARTIFACT_NAME="${ARTIFACT_NAME:-abelbirdnest-release-${RELEASE_STAMP}.tar.gz}"
NODE_MEMORY_MB="${NODE_MEMORY_MB:-4096}"
cd "$ROOT_DIR"
if ! command -v docker >/dev/null 2>&1; then
echo "Docker is required to build the Alpine Linux release artifact." >&2
exit 1
fi
docker run --rm \
-v "$ROOT_DIR":/src:ro \
-v "$ROOT_DIR":/out \
-w / \
"$IMAGE" \
bash -lc '
set -euo pipefail
apt-get update >/dev/null
apt-get install -y --no-install-recommends openssl >/dev/null
sh -lc '
set -eu
apk add --no-cache openssl >/dev/null
rm -rf /work
mkdir -p /work
cp -R /src/. /work/