sss
Some checks failed
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/lint Pipeline failed
ci/woodpecker/push/test/2 Pipeline failed
ci/woodpecker/push/test/1 Pipeline failed

This commit is contained in:
Stephan Schnabel 2025-06-07 20:29:34 +02:00
parent 79d41a9020
commit 527b297fa1
Signed by: stephan.schnabel
SSH key fingerprint: SHA256:99zuzxNGFb5/5P+E/O7ONU2qhUojUe/D8rIPTW+9Xp0
2 changed files with 19 additions and 5 deletions

View file

@ -12,7 +12,7 @@ steps:
pull: true
settings: &settings
name: registry.kokuwa.io/buildctl:$CI_PIPELINE_NUMBER
auth1: {from_secret: AUTH}
auth: {from_secret: AUTH}
platform: [linux/amd64, linux/arm64]
annotation:
org.opencontainers.image.title: Buildctl Plugin

View file

@ -1,7 +1,7 @@
#!/usr/bin/env bash
set -exu;
env | sort | grep -v DRONE
echo $PLUGIN_ARCH | base64 -w0
##
## check input
##
@ -24,10 +24,10 @@ SOURCE_DATE_EPOCH=${PLUGIN_SOURCE_DATE_EPOCH:-0}
##
COMMAND="buildctl"
COMMAND="$COMMAND build"
if [[ -n "${PLUGIN_ADDR:-}" ]]; then
COMMAND="$COMMAND --addr $PLUGIN_ADDR"
fi
COMMAND="$COMMAND build"
COMMAND="$COMMAND --frontend $BUILDCTL_FRONTEND"
COMMAND="$COMMAND --local context='$BUILDCTL_CONTEXT'"
COMMAND="$COMMAND --local dockerfile='$BUILDCTL_DOCKERFILE'"
@ -35,9 +35,17 @@ if [[ "${PLUGIN_PLATFORM:-}" == "true" ]]; then
COMMAND="$COMMAND --opt platform='$PLUGIN_PLATFORM'"
fi
# https://github.com/moby/buildkit/blob/master/README.md#output
if [[ -n "${PLUGIN_NAME:-}" ]]; then
COMMAND="$COMMAND --output type=image,name=$PLUGIN_NAMES,push=${PLUGIN_PUSH:-true}"
OUTPUT=""
if [[ "${PLUGIN_NAME:-}" == "true" ]]; then
OUTPUT="$OUTPUT --output type=image,\"name=$PLUGIN_NAME\",push=${PLUGIN_PUSH:-true},oci-mediatypes=true,oci-artifact=true,compression=estargz"
OUTPUT="$OUTPUT,oci-mediatypes=true,oci-artifact=true,compression=estargz,compression-level=9"
OUTPUT="$OUTPUT,rewrite-timestamp=true"
export IFS=";"
for PLUGIN_ANNOTATION_ITEM in "${PLUGIN_ANNOTATION:-}"; do
OUTPUT="$OUTPUT,annotation.$PLUGIN_ANNOTATION_ITEM"
done
fi
COMMAND="$COMMAND $OUTPUT"
# custom args, e.g. docker run --rm --volume=$HOME:HOME:ro --workdir=$PWD kokuwaio/buildkit --opt buildarg=foo=bar
if [[ -n "${1:-}" ]]; then
@ -48,6 +56,12 @@ fi
## execute command
##
echo "SOURCE_DATE_EPOCH=$SOURCE_DATE_EPOCH docker buildx build ${PLUGIN_CONTEXT:-.}"
if [[ "${PLUGIN_PLATFORM:-}" == "true" ]]; then
echo " --platform='$PLUGIN_PLATFORM'"
echo " $OUTPUT"
fi
echo -e "SOURCE_DATE_EPOCH=$SOURCE_DATE_EPOCH ${COMMAND// --/\\n --}\n"
eval "$COMMAND"