31 lines
839 B
Bash
Executable File
31 lines
839 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
SCRIPT_DIR=$(dirname "$0")
|
|
OPENPILOT_DIR=$SCRIPT_DIR/../../
|
|
|
|
DOCKER_IMAGE=sunnypilot
|
|
DOCKER_FILE=Dockerfile.openpilot
|
|
DOCKER_REGISTRY=ghcr.io/sunnypilot
|
|
COMMIT_SHA=$(git rev-parse HEAD)
|
|
|
|
if [ -n "$TARGET_ARCHITECTURE" ]; then
|
|
PLATFORM="linux/$TARGET_ARCHITECTURE"
|
|
TAG_SUFFIX="-$TARGET_ARCHITECTURE"
|
|
else
|
|
PLATFORM="linux/$(uname -m)"
|
|
TAG_SUFFIX=""
|
|
fi
|
|
|
|
LOCAL_TAG=$DOCKER_IMAGE$TAG_SUFFIX
|
|
REMOTE_TAG=$DOCKER_REGISTRY/$LOCAL_TAG
|
|
REMOTE_SHA_TAG=$DOCKER_REGISTRY/$LOCAL_TAG:$COMMIT_SHA
|
|
|
|
DOCKER_BUILDKIT=1 docker buildx build --provenance false --pull --platform $PLATFORM --load -t $DOCKER_IMAGE:latest -t $REMOTE_TAG -t $LOCAL_TAG -f $OPENPILOT_DIR/$DOCKER_FILE $OPENPILOT_DIR
|
|
|
|
if [ -n "$PUSH_IMAGE" ]; then
|
|
docker push $REMOTE_TAG
|
|
docker tag $REMOTE_TAG $REMOTE_SHA_TAG
|
|
docker push $REMOTE_SHA_TAG
|
|
fi
|