36 lines
1.2 KiB
Bash
Executable File
36 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
TARGET_NAME="$1-$2"
|
|
DOCKERFILE="Dockerfile.$1.$2"
|
|
|
|
EXTRA_ARGS="--pull"
|
|
if [ "$1" == "aarch64" ] || [ "$1" == "rpi64" ] || [ "$1" == "l4t" ]; then
|
|
EXTRA_ARGS="$EXTRA_ARGS --platform linux/arm64"
|
|
elif [ "$1" == "armhf" ] || [ "$1" == "rpi" ]; then
|
|
EXTRA_ARGS="$EXTRA_ARGS --platform linux/arm/v7"
|
|
elif [ "$1" == "riscv64" ]; then
|
|
EXTRA_ARGS="$EXTRA_ARGS --platform linux/riscv64"
|
|
fi
|
|
|
|
TAG_UNIQUE_ID=`(git ls-tree HEAD; git diff-index HEAD) | sha256sum | cut -c-16`
|
|
TAG_NAME="${TARGET_NAME}_${TAG_UNIQUE_ID}"
|
|
OUT_DIR="out_$TARGET_NAME"
|
|
|
|
docker pull cgutman/moonlight-packaging:$TAG_NAME
|
|
PULL_EXIT_CODE=$?
|
|
|
|
rm -rf $OUT_DIR
|
|
|
|
set -e
|
|
mkdir $OUT_DIR
|
|
|
|
if [ $PULL_EXIT_CODE -eq 0 ]; then
|
|
echo Using pre-built Docker image - cgutman/moonlight-packaging:$TAG_NAME
|
|
else
|
|
echo Pre-built image not available - building cgutman/moonlight-packaging:$TAG_NAME
|
|
docker buildx build $EXTRA_ARGS -f $DOCKERFILE -t cgutman/moonlight-packaging:$TAG_NAME .
|
|
echo Built Docker image - cgutman/moonlight-packaging:$TAG_NAME
|
|
fi
|
|
|
|
docker run --rm --mount type=bind,source="$(pwd)"/$OUT_DIR,target=/out --mount type=bind,source="$(pwd)"/debian,target=/opt/debian -e COMMIT="$3" cgutman/moonlight-packaging:$TAG_NAME
|