Initial commit

This commit is contained in:
2026-07-23 09:12:00 +09:00
commit 521d11ffa6
41 changed files with 8799 additions and 0 deletions
+87
View File
@@ -0,0 +1,87 @@
#!/usr/bin/env sh
set -eu
ROOT_DIR="$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)"
OUTPUT_DIR="${PLATFORM_AGENT_RELEASE_DIR:-$ROOT_DIR/dist/release}"
STAGE_DIR="$(mktemp -d)"
cleanup() { rm -rf "$STAGE_DIR"; }
trap cleanup EXIT INT TERM
require_file() {
if [ ! -e "$ROOT_DIR/$1" ]; then
printf 'Missing required file: %s\n' "$1" >&2
exit 1
fi
}
for file in package.json bun.lock tsconfig.json agent.config.json src scripts/install.sh scripts/setting.sh scripts/uninstall.sh scripts/installer-tui/main.go; do
require_file "$file"
done
build_tui() {
arch="$1"
output="$ROOT_DIR/scripts/installer-tui/installer-tui-linux-$arch"
if command -v go >/dev/null 2>&1; then
(
cd "$ROOT_DIR/scripts/installer-tui"
GOOS=linux GOARCH="$arch" go build -o "$output" .
)
return
fi
if command -v docker >/dev/null 2>&1; then
docker run --rm \
--user "$(id -u):$(id -g)" \
-e GOCACHE=/tmp/go-build-cache \
-e GOOS=linux \
-e GOARCH="$arch" \
-v "$ROOT_DIR/scripts/installer-tui:/src" \
-w /src \
golang:1.22-alpine \
sh -c "go build -o installer-tui-linux-$arch ."
return
fi
printf '%s\n' 'Go or Docker is required to build installer binaries.' >&2
exit 1
}
package_archive() {
arch="$1"
package_dir="$STAGE_DIR/platform-agent"
archive="$OUTPUT_DIR/platform-agent-linux-$arch.tar.gz"
rm -rf "$package_dir"
mkdir -p "$package_dir/scripts/installer-tui"
cp "$ROOT_DIR/package.json" "$ROOT_DIR/bun.lock" "$ROOT_DIR/tsconfig.json" "$ROOT_DIR/agent.config.json" "$package_dir/"
cp -R "$ROOT_DIR/src" "$package_dir/src"
cp -R "$ROOT_DIR/scripts/." "$package_dir/scripts/"
rm -f "$package_dir/scripts/installer-tui/installer-tui" \
"$package_dir/scripts/installer-tui/installer-tui-linux-amd64" \
"$package_dir/scripts/installer-tui/installer-tui-linux-arm64"
cp "$ROOT_DIR/scripts/installer-tui/installer-tui-linux-$arch" "$package_dir/scripts/installer-tui/"
chmod +x "$package_dir/scripts/install.sh" "$package_dir/scripts/setting.sh" "$package_dir/scripts/uninstall.sh" \
"$package_dir/scripts/installer-tui/installer-tui-linux-$arch"
tar -C "$STAGE_DIR" -czf "$archive" platform-agent
printf 'Created %s\n' "$archive"
}
mkdir -p "$OUTPUT_DIR"
build_tui amd64
build_tui arm64
package_archive amd64
package_archive arm64
if command -v sha256sum >/dev/null 2>&1; then
(
cd "$OUTPUT_DIR"
sha256sum platform-agent-linux-amd64.tar.gz platform-agent-linux-arm64.tar.gz > checksums.txt
)
printf 'Created %s/checksums.txt\n' "$OUTPUT_DIR"
fi