cd7d554478
release / build-web (push) Has been cancelled
release / build-bundles (aarch64-linux-gnu-gcc, arm64, linux, ubuntu-latest, linux-arm64) (push) Has been cancelled
release / build-bundles (amd64, darwin, macos-15-large, macos-x64) (push) Has been cancelled
release / build-bundles (amd64, linux, ubuntu-latest, linux-x64) (push) Has been cancelled
release / build-bundles (amd64, windows, windows-latest, windows-x64) (push) Has been cancelled
release / build-bundles (arm64, darwin, macos-14, macos-arm64) (push) Has been cancelled
41 lines
1.2 KiB
Bash
Executable File
41 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Used by .github/workflows/release.yml to package the Next.js standalone output.
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
WEB_DIR="$ROOT_DIR/apps/web"
|
|
OUT_DIR="$ROOT_DIR/dist/web"
|
|
|
|
echo "Packaging Next.js standalone output for release..."
|
|
|
|
if [ ! -d "$WEB_DIR/.next/standalone" ]; then
|
|
echo "Missing standalone output at $WEB_DIR/.next/standalone"
|
|
echo "Run: pnpm -C apps --filter @kandev/web build"
|
|
exit 1
|
|
fi
|
|
|
|
rm -rf "$OUT_DIR"
|
|
mkdir -p "$OUT_DIR"
|
|
|
|
# Copy with symlinks dereferenced so pnpm's .pnpm/ structure survives
|
|
# archiving (symlinks cause issues on Windows even inside tar). The
|
|
# standalone output may contain broken symlinks from partial tracing —
|
|
# --safe-links skips those and rsync exits with code 23 (partial transfer),
|
|
# which is expected.
|
|
rsync -a --copy-links --safe-links "$WEB_DIR/.next/standalone/" "$OUT_DIR/" || {
|
|
rc=$?
|
|
if [ "$rc" -eq 23 ]; then
|
|
echo "Warning: some broken symlinks were skipped (expected for standalone output)"
|
|
else
|
|
exit "$rc"
|
|
fi
|
|
}
|
|
mkdir -p "$OUT_DIR/.next"
|
|
cp -R "$WEB_DIR/.next/static" "$OUT_DIR/.next/"
|
|
|
|
if [ -d "$WEB_DIR/public" ]; then
|
|
cp -R "$WEB_DIR/public" "$OUT_DIR/public"
|
|
fi
|
|
|
|
echo "Web bundle packaged at $OUT_DIR"
|