--- name: Forgejo Kaniko description: Build a container image using Kaniko branding: icon: anchor color: blue inputs: dockerfile: description: The Dockerfile to pass to Kaniko required: false image: description: Name and tag under which to upload the image required: true registry: description: Domain of the registry. Should be the same as the first path component of the tag. required: false default: https://index.docker.io/v1/ username: description: Username for the container registry required: true password: description: Password for the container registry required: true runs: using: docker image: docker://gcr.io/kaniko-project/executor:debug entrypoint: /bin/sh args: - -c - | mkdir -p /kaniko/.docker echo '{"auths":{"${{ inputs.registry }}":{"auth":"'$(printf "%s:%s" "${{ inputs.username }}" "${{ inputs.password }}" | base64 | tr -d '\n')'"}}}' > /kaniko/.docker/config.json if [ -n "${{ inputs.dockerfile }}" ]; then echo "Using Dockerfile from input" echo "${{ inputs.dockerfile }}" > Dockerfile elif [ -f "./Dockerfile" ]; then echo "Using existing ./Dockerfile from workspace" else echo "ERROR: No Dockerfile provided and no ./Dockerfile found in workspace" exit 1 fi dest_flags="" for dest in $(echo "${{ inputs.image }}" | tr ',' ' '); do dest_flags="$dest_flags --destination=$dest" done echo "Destinations: $dest_flags" /kaniko/executor --dockerfile Dockerfile --context $GITHUB_WORKSPACE $dest_flags