37 lines
867 B
Bash
Executable file
37 lines
867 B
Bash
Executable file
#!/bin/sh -e
|
|
|
|
export DOCKER_CONFIG="$HOME/.docker"
|
|
mkdir -p "$DOCKER_CONFIG"
|
|
|
|
#shellcheck disable=SC1091
|
|
[ -f .env ] && . ./.env
|
|
|
|
if [ -z "$IMAGEAPP" ]; then
|
|
IMAGEAPP="${GITHUB_SERVER_URL#*://}/$INPUT_IMAGE"
|
|
fi
|
|
|
|
if [ "$INPUT_CACHE" = true ]; then
|
|
IMAGECACHE="${IMAGEAPP%:*}/cache"
|
|
set -- --import-cache "type=registry,ref=$IMAGECACHE" \
|
|
--export-cache "type=registry,ref=$IMAGECACHE"
|
|
fi
|
|
|
|
cat <<EOF > "$DOCKER_CONFIG/config.json"
|
|
{
|
|
"auths": {
|
|
"$GITHUB_SERVER_URL": {
|
|
"username": "$INPUT_USERNAME",
|
|
"password": "$INPUT_PASSWORD"
|
|
}
|
|
}
|
|
}
|
|
EOF
|
|
|
|
DIR="$(dirname "$INPUT_DOCKERFILE")"
|
|
FILENAME="$(basename "$INPUT_DOCKERFILE")"
|
|
|
|
set -x
|
|
buildctl-daemonless.sh build --frontend dockerfile.v0 "$@" \
|
|
-o "type=image,name=$IMAGEAPP,push=true" \
|
|
--opt filename="$FILENAME" \
|
|
--local context="$DIR" --local dockerfile="$DIR"
|