commit 46b20aa03d8fd19871831dcad94829229b4aa858 Author: ange Date: Tue Oct 21 17:10:36 2025 +0000 first commit diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cca4828 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,3 @@ +FROM docker.io/moby/buildkit:master-rootless +COPY entrypoint.sh /usr/local/bin/ +ENTRYPOINT ["entrypoint.sh"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..900ead1 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# buildah@v1 diff --git a/action.yaml b/action.yaml new file mode 100644 index 0000000..b316a60 --- /dev/null +++ b/action.yaml @@ -0,0 +1,20 @@ +inputs: + dockerfile: + description: Dockerfile path + default: ./Dockerfile + image: + description: Image name and tag + default: ${{ forgejo.repository }}:${{ forgejo.ref_name }} + username: + description: Registry username + default: ${{ forgejo.repository_owner }} + password: + description: Registry password + required: true + cache: + description: Use registry cache + default: true + +runs: + using: docker + image: Dockerfile diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100755 index 0000000..f5e6f29 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,28 @@ +#!/bin/sh -ex + +#shellcheck disable=SC1091 +[ -f .env ] && . ./.env + +if [ -z "$IMAGEAPP" ]; then + REGISTRY="$(echo "$GITHUB_SERVER_URL" | sed 's .*:// ')" + IMAGEAPP="$REGISTRY/$INPUT_IMAGE" +fi + +if [ "$INPUT_CACHE" = true ]; then + set -- --import-cache "type=registry,ref=$IMAGEAPP/cache" \ + --export-cache "type=registry,ref=$IMAGEAPP/cache" +fi + +cat < "$DOCKER_CONFIG/config.json" +{ + "auths": { + "$GITHUB_SERVER_URL": { + "username": "$INPUT_USERNAME", + "password": "$INPUT_PASSWORD" + } + } +} +EOF +buildctl build "$@" -o "type=image,name=$IMAGEAPP,push=true" \ + --local context="$(dirname "$INPUT_DOCKERFILE")" \ + --local dockerfile="$INPUT_DOCKERFILE"