#!/busybox/sh set -e pipefail OLDIFS=$IFS REGISTRY="${INPUT_PUSH_REGISTRY}" REGISTRY_CERTIFICATE="${INPUT_REGISTRY_CERTIFICATE}" USERNAME="${INPUT_USERNAME:-$GITHUB_ACTOR}" PASSWORD="${INPUT_PASSWORD:-$GITHUB_TOKEN}" crane auth login "$REGISTRY" -u "$USERNAME" -p "$PASSWORD" IMAGE="$(echo "${INPUT_TAGS}" | cut -f1 -d':')" TAGS="${INPUT_TAGS:-$REGISTRY/$GITEA_REPO/$GITEA_REF_NAME}" DOCKERFILE="${INPUT_FILE}" CONTEXT="${INPUT_CONTEXT}" LABELS="--label org.opencontainers.image.created=$(date -u +"%Y-%m-%dT%H:%M:%S.%3NZ")" for label in $INPUT_LABELS; do LABELS="$LABELS --label $label" done ARGS="$LABELS --context $CONTEXT --dockerfile $DOCKERFILE" if [ -n "$REGISTRY_CERTIFICATE" ]; then ARGS="$ARGS --registry-certificate ${REGISTRY}:${REGISTRY_CERTIFICATE}" fi runKaniko() { IFS='' EXECUTOR="executor ${1} --reproducible --force --cleanup" echo "Build with: ${EXECUTOR}" eval "${EXECUTOR}" IFS=$OLDIFS } echo "Building image $IMAGE" DESTINATION="--destination $IMAGE:latest --destination $TAGS" runKaniko "${ARGS} $DESTINATION $DIGEST" DIGEST=$(head -n 1 '/kaniko/build/image-tag-digest' | cut -f2 -d '@') echo "Image $IMAGE pushed" echo "Digest: $DIGEST"