Files
Picsur/support/build.sh

57 lines
1.2 KiB
Bash
Raw Normal View History

2022-02-25 16:41:56 +01:00
#!/bin/bash
2023-03-15 14:24:26 +01:00
PACKAGE_URL="ghcr.io/caramelfur/picsur"
2022-08-26 12:38:05 +02:00
2022-09-02 12:23:18 +02:00
if [ "$1" == "alpha" ]; then
2022-09-06 16:32:16 +02:00
PACKAGE_URL="$PACKAGE_URL-alpha"
2022-09-02 12:23:18 +02:00
elif [ "$1" == "stable" ]; then
2022-09-06 16:32:16 +02:00
true
2022-09-02 12:23:18 +02:00
else
2022-09-06 16:32:16 +02:00
echo "Usage: $0 [alpha|stable]"
exit 1
2022-09-02 12:23:18 +02:00
fi
2022-02-25 16:41:56 +01:00
# Go to this script
2022-06-05 12:20:16 +02:00
cd "$(dirname "${BASH_SOURCE[0]}")"
2022-02-25 16:41:56 +01:00
2022-09-02 12:23:18 +02:00
# Install binfmt
docker run --privileged --rm tonistiigi/binfmt --install all
2022-02-25 16:41:56 +01:00
# Read current version from ../package.json
VERSION=$(cat ../package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[",]//g' | tr -d '[[:space:]]')
echo "Building version $VERSION"
2022-12-27 16:56:59 +01:00
# Allow host networking for buildx
docker buildx create --append --use --name picsur --driver-opt network=host
2022-02-25 16:41:56 +01:00
docker buildx build \
--push \
2022-12-27 16:56:59 +01:00
--network host \
-t "$PACKAGE_URL-stage1:$VERSION" \
-t "$PACKAGE_URL-stage1:latest" \
-f ./picsur-stage1.Dockerfile ..
2022-12-27 16:56:59 +01:00
# Exit if stage1 build failed
if [ $? -ne 0 ]; then
echo "Stage1 build failed"
exit 1
fi
2022-09-02 12:23:18 +02:00
docker buildx build \
--platform linux/amd64,linux/arm64 \
--push \
2022-12-27 16:56:59 +01:00
--network host \
2022-09-02 12:23:18 +02:00
-t "$PACKAGE_URL:$VERSION" \
-t "$PACKAGE_URL:latest" \
-f ./picsur-stage2.Dockerfile ..
2022-02-25 16:41:56 +01:00
2022-12-27 16:56:59 +01:00
# Exit if stage2 build failed
if [ $? -ne 0 ]; then
echo "Stage2 build failed"
exit 1
fi
2022-09-02 12:23:18 +02:00
echo "Done pushing $PACKAGE_URL:$VERSION"