server/bin/build.sh
Ryan McCue 3e7bc6e67b Initial export of the repository
Signed-off-by: Ryan McCue <me@ryanmccue.info>
2025-06-05 11:48:47 +02:00

40 lines
964 B
Bash
Executable file

#!/bin/bash
# Build script that runs .build-script in a container and exports files
set -x
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
# Set up variables
BUILD_DIR="/tmp/fairserver-build"
CONTAINER_NAME="fair-builder"
# Clean up any existing build directory
rm -rf "$BUILD_DIR"
# Make a clean copy of the repo, using rsync
echo "Syncing to $BUILD_DIR" >&2
rsync \
-a \
--progress \
--exclude='.git' \
--exclude-from='.distignore' \
"$SCRIPT_DIR/.." "$BUILD_DIR"
# Run the build script inside a composer container
echo "Running build script…" >&2
docker run \
--rm \
--name "$CONTAINER_NAME" \
-v "$BUILD_DIR:/app" \
-w /app \
composer:latest \
bash -c "./.build-script"
echo "Building image…" >&2
docker build \
--tag ghcr.io/fairpm/server:latest \
--build-context src="$BUILD_DIR" \
"$SCRIPT_DIR/container"
echo "Pushing to GitHub Container Registry…" >&2
docker push ghcr.io/fairpm/server:latest