diff --git a/Dockerfile b/Dockerfile index ae30e1e..840c576 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,3 @@ -FROM docker.io/moby/buildkit:v0.25.1-rootless +FROM docker.io/moby/buildkit:v0.25.1 COPY entrypoint.sh /usr/local/bin/ ENTRYPOINT ["entrypoint.sh"] diff --git a/entrypoint.sh b/entrypoint.sh index 6e89097..f649b42 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,4 +1,4 @@ -#!/bin/sh -ex +#!/bin/sh -e export DOCKER_CONFIG="$HOME/.docker" mkdir -p "$DOCKER_CONFIG" @@ -7,13 +7,13 @@ mkdir -p "$DOCKER_CONFIG" [ -f .env ] && . ./.env if [ -z "$IMAGEAPP" ]; then - REGISTRY="$(echo "$GITHUB_SERVER_URL" | sed 's .*:// ')" - IMAGEAPP="$REGISTRY/$INPUT_IMAGE" + IMAGEAPP="${GITHUB_SERVER_URL#*://}/$INPUT_IMAGE" fi if [ "$INPUT_CACHE" = true ]; then - set -- --import-cache "type=registry,ref=$IMAGEAPP/cache" \ - --export-cache "type=registry,ref=$IMAGEAPP/cache" + IMAGECACHE="${IMAGEAPP%:*}/cache" + set -- --import-cache "type=registry,ref=$IMAGECACHE" \ + --export-cache "type=registry,ref=$IMAGECACHE" fi cat < "$DOCKER_CONFIG/config.json" @@ -26,6 +26,12 @@ cat < "$DOCKER_CONFIG/config.json" } } EOF -buildctl build "$@" -o "type=image,name=$IMAGEAPP,push=true" \ - --local context="$(dirname "$INPUT_DOCKERFILE")" \ - --local dockerfile="$INPUT_DOCKERFILE" + +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"