From d3eb1f24cf81dec3dfe1c2ba670a6b0330730244 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 12 Mar 2022 06:22:43 -0500 Subject: [PATCH 01/13] fix: add missing image-stage label to dockerfile builder --- plugins/builder-dockerfile/builder-build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/builder-dockerfile/builder-build b/plugins/builder-dockerfile/builder-build index 4eed3240536..0f6987121ac 100755 --- a/plugins/builder-dockerfile/builder-build +++ b/plugins/builder-dockerfile/builder-build @@ -17,7 +17,7 @@ trigger-builder-dockerfile-builder-build() { dokku_log_info1 "Building $APP from Dockerfile" local IMAGE=$(get_app_image_name "$APP") - local DOCKER_BUILD_LABEL_ARGS="--label=org.label-schema.schema-version=1.0 --label=org.label-schema.vendor=dokku --label=com.dokku.app-name=$APP" + local DOCKER_BUILD_LABEL_ARGS=("--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.app-name=$APP" "--label=com.dokku.image-stage=build") pushd "$SOURCECODE_WORK_DIR" &>/dev/null @@ -36,7 +36,7 @@ trigger-builder-dockerfile-builder-build() { declare -a ARG_ARRAY eval "ARG_ARRAY=($DOCKER_ARGS)" - "$DOCKER_BIN" image build $DOCKER_BUILD_LABEL_ARGS $DOKKU_GLOBAL_BUILD_ARGS "${ARG_ARRAY[@]}" "${DOKKU_DOCKER_BUILD_OPTS[@]}" -t $IMAGE . + "$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS "${ARG_ARRAY[@]}" "${DOKKU_DOCKER_BUILD_OPTS[@]}" -t $IMAGE . plugn trigger post-build-dockerfile "$APP" } From 63d7d280366af19021c7de0693302986a17ee465 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 12 Mar 2022 06:23:32 -0500 Subject: [PATCH 02/13] fix: correct a few shellcheck issues --- plugins/common/functions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/common/functions b/plugins/common/functions index 1bda3930eba..8617e8c7946 100755 --- a/plugins/common/functions +++ b/plugins/common/functions @@ -163,7 +163,7 @@ dokku_log_fail_quiet() { dokku_log_fail() { declare desc="log fail formatter" echo " ! $*" 1>&2 - exit ${DOKKU_FAIL_EXIT_CODE:=1} + exit "${DOKKU_FAIL_EXIT_CODE:=1}" } dokku_log_stderr() { From 53f7c89e462b91305643f242c31809a0b03f05dc Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 12 Mar 2022 06:23:55 -0500 Subject: [PATCH 03/13] fix: do not call procfile-get-command if there is no command specified --- plugins/scheduler-docker-local/scheduler-run | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/plugins/scheduler-docker-local/scheduler-run b/plugins/scheduler-docker-local/scheduler-run index 78d062cfc32..b274e7d59a7 100755 --- a/plugins/scheduler-docker-local/scheduler-run +++ b/plugins/scheduler-docker-local/scheduler-run @@ -67,12 +67,14 @@ trigger-scheduler-docker-local-scheduler-run() { [[ "$IMAGE_SOURCE_TYPE" == "herokuish" ]] && local EXEC_CMD="/exec" is_image_cnb_based "$IMAGE" && EXEC_CMD="" - POTENTIAL_PROCFILE_KEY="$1" - PROC_CMD=$(plugn trigger procfile-get-command "$APP" "$POTENTIAL_PROCFILE_KEY" "5000" 2>/dev/null || echo '') + local POTENTIAL_PROCFILE_KEY="$1" + if [[ -n "$POTENTIAL_PROCFILE_KEY" ]]; then + PROC_CMD=$(plugn trigger procfile-get-command "$APP" "$POTENTIAL_PROCFILE_KEY" "5000" 2>/dev/null || echo '') - if [[ -n "$PROC_CMD" ]]; then - dokku_log_info1_quiet "Found '$POTENTIAL_PROCFILE_KEY' in Procfile, running that command" - set -- "$PROC_CMD" "${@:2}" + if [[ -n "$PROC_CMD" ]]; then + dokku_log_info1_quiet "Found '$POTENTIAL_PROCFILE_KEY' in Procfile, running that command" + set -- "$PROC_CMD" "${@:2}" + fi fi # shellcheck disable=SC2124 From 01b9f6f73050c9be6cf51946dfa999fb16eaec78 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 12 Mar 2022 06:24:09 -0500 Subject: [PATCH 04/13] chore: drop commented out code --- plugins/scheduler-docker-local/scheduler-run | 3 --- 1 file changed, 3 deletions(-) diff --git a/plugins/scheduler-docker-local/scheduler-run b/plugins/scheduler-docker-local/scheduler-run index b274e7d59a7..708e4ef80c7 100755 --- a/plugins/scheduler-docker-local/scheduler-run +++ b/plugins/scheduler-docker-local/scheduler-run @@ -101,9 +101,6 @@ trigger-scheduler-docker-local-scheduler-run() { ARG_ARRAY=("${ARG_ARRAY[@]}" "$DOKKU_SHELL") else ARG_ARRAY=("${ARG_ARRAY[@]}" "${RUN_COMMAND[@]}") - # for run_arg in "${RUN_COMMAND[@]}"; do - # DOCKER_ARGS+=" ${run_arg} " - # done fi CONTAINER_ID=$(fn-scheduler-docker-local-start-app-container "$APP" "${ARG_ARRAY[@]}") From d9659b8cf22d7c80aa7cccfba828540f22c9ccc2 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 12 Mar 2022 06:24:31 -0500 Subject: [PATCH 05/13] fix: use array for arguments to container creation --- plugins/scheduler-docker-local/scheduler-run | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/scheduler-docker-local/scheduler-run b/plugins/scheduler-docker-local/scheduler-run index 708e4ef80c7..0a74df89529 100755 --- a/plugins/scheduler-docker-local/scheduler-run +++ b/plugins/scheduler-docker-local/scheduler-run @@ -110,15 +110,15 @@ trigger-scheduler-docker-local-scheduler-run() { if [[ "$DOKKU_DETACH_CONTAINER" != "1" ]]; then DOCKER_START_ARGS_ARRAY+=("--attach") - has_tty && DOCKER_START_ARGS_ARRAY+=" --interactive" + has_tty && DOCKER_START_ARGS_ARRAY+=("--interactive") fi local EXIT_CODE=0 DOKKU_CONTAINER_EXIT_CODE=0 if [[ "$DOKKU_DETACH_CONTAINER" == "1" ]]; then - "$DOCKER_BIN" container start ${DOCKER_START_ARGS_ARRAY[@]} "$CONTAINER_ID" >/dev/null || DOKKU_CONTAINER_EXIT_CODE=$? + "$DOCKER_BIN" container start "${DOCKER_START_ARGS_ARRAY[@]}" "$CONTAINER_ID" >/dev/null || DOKKU_CONTAINER_EXIT_CODE=$? echo "$CONTAINER_ID" else - "$DOCKER_BIN" container start ${DOCKER_START_ARGS_ARRAY[@]} "$CONTAINER_ID" || EXIT_CODE=$? + "$DOCKER_BIN" container start "${DOCKER_START_ARGS_ARRAY[@]}" "$CONTAINER_ID" || EXIT_CODE=$? DOKKU_CONTAINER_EXIT_CODE="$("$DOCKER_BIN" container wait "$CONTAINER_ID" 2>/dev/null || echo "$EXIT_CODE")" [[ -z "$DOKKU_CONTAINER_EXIT_CODE" ]] && DOKKU_CONTAINER_EXIT_CODE=0 fi From 92ecc76000ed550e186e91cb8fc27a70e48d609e Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 12 Mar 2022 06:24:42 -0500 Subject: [PATCH 06/13] chore: always use long-form for image removal --- plugins/scheduler-docker-local/internal-functions | 2 +- plugins/scheduler-docker-local/post-delete | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/scheduler-docker-local/internal-functions b/plugins/scheduler-docker-local/internal-functions index 8568bd764f5..39c4d0a01eb 100755 --- a/plugins/scheduler-docker-local/internal-functions +++ b/plugins/scheduler-docker-local/internal-functions @@ -188,7 +188,7 @@ fn-scheduler-docker-local-retire-images() { fi dokku_log_verbose_quiet "Attempting to retire $RETIRE_APP image $IMAGE_ID" - if RM_OUTPUT="$("$DOCKER_BIN" image rm "$IMAGE_ID" 2>&1)"; then + if RM_OUTPUT="$("$DOCKER_BIN" image remove "$IMAGE_ID" 2>&1)"; then DEAD_IMAGES+=("$IMAGE_ID") continue fi diff --git a/plugins/scheduler-docker-local/post-delete b/plugins/scheduler-docker-local/post-delete index da66df2bb0c..dd1bce3c9fb 100755 --- a/plugins/scheduler-docker-local/post-delete +++ b/plugins/scheduler-docker-local/post-delete @@ -28,7 +28,7 @@ trigger-scheduler-docker-local-post-delete() { fi # shellcheck disable=SC2046 - "$DOCKER_BIN" image rm $("$DOCKER_BIN" image list --quiet "$IMAGE_REPO" | xargs) &>/dev/null || true + "$DOCKER_BIN" image remove $("$DOCKER_BIN" image list --quiet "$IMAGE_REPO" | xargs) &>/dev/null || true } trigger-scheduler-docker-local-post-delete "$@" From 157297ab87feca60e9acfcfdb56e0e74b96c9d46 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 12 Mar 2022 06:25:12 -0500 Subject: [PATCH 07/13] feat: ensure the image tag is correct if a build fails Either retag the original image or remove the tag completely. --- plugins/common/functions | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/plugins/common/functions b/plugins/common/functions index 8617e8c7946..34829c81b22 100755 --- a/plugins/common/functions +++ b/plugins/common/functions @@ -624,7 +624,21 @@ dokku_build() { declare desc="build phase" declare APP="$1" IMAGE_SOURCE_TYPE="$2" SOURCECODE_WORK_DIR="$3" - plugn trigger builder-build "$IMAGE_SOURCE_TYPE" "$APP" "$SOURCECODE_WORK_DIR" + local IMAGE=$(get_app_image_name "$APP") + local RELEASED_IMAGE_ID="$(docker image ls --filter "label=com.dokku.image-stage=release" --filter "label=com.dokku.app-name=$APP" --format "{{.ID}}")" + if plugn trigger builder-build "$IMAGE_SOURCE_TYPE" "$APP" "$SOURCECODE_WORK_DIR"; then + return + fi + + if [[ -n "$RELEASED_IMAGE_ID" ]]; then + dokku_log_warn "Retagging old image $RELEASED_IMAGE_ID as $IMAGE" + "$DOCKER_BIN" image tag "$RELEASED_IMAGE_ID" "$IMAGE" 2> /dev/null || true + else + dokku_log_warn "Removing invalid image tag $IMAGE" + "$DOCKER_BIN" image remove --force --no-prune "$IMAGE" &>/dev/null || true + fi + + dokku_log_fail "App build failed" } dokku_release() { From 8b6e88000ad3509f8c2e93a5e1246a95228a7834 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 12 Mar 2022 06:25:50 -0500 Subject: [PATCH 08/13] feat: ensure we handle build failures correctly Always exit properly and ensure we cleanup the intermediate tar container. --- plugins/builder-herokuish/builder-build | 39 ++++++++++++++++++------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/plugins/builder-herokuish/builder-build b/plugins/builder-herokuish/builder-build index f134583b8bd..8829eddfc0c 100755 --- a/plugins/builder-herokuish/builder-build +++ b/plugins/builder-herokuish/builder-build @@ -24,8 +24,8 @@ trigger-builder-herokuish-builder-build() { local DOKKU_APP_CACHE_DIR="$DOKKU_ROOT/$APP/cache" local DOKKU_APP_HOST_CACHE_DIR="$DOKKU_HOST_ROOT/$APP/cache" local DOCKER_COMMIT_LABEL_ARGS=("--change" "LABEL org.label-schema.schema-version=1.0" "--change" "LABEL org.label-schema.vendor=dokku" "--change" "LABEL com.dokku.app-name=$APP") - local DOCKER_RUN_LABEL_ARGS="--label=com.dokku.app-name=$APP" - local CID + local DOCKER_RUN_LABEL_ARGS=("--label=com.dokku.app-name=$APP") + local CID TAR_CID pushd "$SOURCECODE_WORK_DIR" &>/dev/null @@ -34,14 +34,20 @@ trigger-builder-herokuish-builder-build() { NEW_DOKKU_IMAGE=$(plugn trigger builder-dokku-image "$BUILDER_TYPE" "$APP" "$SOURCECODE_WORK_DIR" "$DOKKU_IMAGE") [[ -n "$NEW_DOKKU_IMAGE" ]] && DOKKU_IMAGE="$NEW_DOKKU_IMAGE" - CID=$(tar -c . | "$DOCKER_BIN" container run "${DOCKER_RUN_LABEL_ARGS[@]}" $DOKKU_GLOBAL_RUN_ARGS -i -a stdin "$DOKKU_IMAGE" /bin/bash -c "mkdir -p /app && tar -xC /app") - if test "$("$DOCKER_BIN" container wait "$CID")" -ne 0; then + if ! TAR_CID=$(tar -c . | "$DOCKER_BIN" container run "${DOCKER_RUN_LABEL_ARGS[@]}" $DOKKU_GLOBAL_RUN_ARGS -i -a stdin "$DOKKU_IMAGE" /bin/bash -c "mkdir -p /app && tar -xC /app"); then + DOKKU_SKIP_IMAGE_CLEANUP_REGISTRATION=1 plugn trigger scheduler-register-retired "$APP" "$TAR_CID" dokku_log_warn "Failure extracting app code" return 1 fi - "$DOCKER_BIN" container commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" "$CID" "$IMAGE" >/dev/null - DOKKU_SKIP_IMAGE_CLEANUP_REGISTRATION=1 plugn trigger scheduler-register-retired "$APP" "$CID" + if test "$("$DOCKER_BIN" container wait "$TAR_CID")" -ne 0; then + DOKKU_SKIP_IMAGE_CLEANUP_REGISTRATION=1 plugn trigger scheduler-register-retired "$APP" "$TAR_CID" + dokku_log_warn "Failure extracting app code" + return 1 + fi + + "$DOCKER_BIN" container commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" "$TAR_CID" "$IMAGE" >/dev/null + DOKKU_SKIP_IMAGE_CLEANUP_REGISTRATION=1 plugn trigger scheduler-register-retired "$APP" "$TAR_CID" [[ -d $DOKKU_APP_CACHE_DIR ]] || mkdir -p "$DOKKU_APP_CACHE_DIR" plugn trigger pre-build-buildpack "$APP" "$SOURCECODE_WORK_DIR" @@ -54,20 +60,33 @@ trigger-builder-herokuish-builder-build() { eval "ARG_ARRAY=($DOCKER_ARGS)" local DOKKU_CONTAINER_EXIT_CODE=0 - local CID=$("$DOCKER_BIN" container create "${DOCKER_RUN_LABEL_ARGS[@]}" $DOKKU_GLOBAL_RUN_ARGS -v $DOKKU_APP_HOST_CACHE_DIR:/cache --env=CACHE_PATH=/cache "${ARG_ARRAY[@]}" $IMAGE /build) + if ! CID=$("$DOCKER_BIN" container create "${DOCKER_RUN_LABEL_ARGS[@]}" $DOKKU_GLOBAL_RUN_ARGS -v "$DOKKU_APP_HOST_CACHE_DIR:/cache" --env=CACHE_PATH=/cache "${ARG_ARRAY[@]}" "$IMAGE" /build); then + DOKKU_SKIP_IMAGE_CLEANUP_REGISTRATION=1 plugn trigger scheduler-register-retired "$APP" "$TAR_CID" + plugn trigger scheduler-register-retired "$APP" "$CID" + dokku_log_warn "Failure during app build" + return 1 + fi + plugn trigger post-container-create "app" "$CID" "$APP" "build" "$DOCKER_BIN" container start "$CID" >/dev/null || DOKKU_CONTAINER_EXIT_CODE=$? - "$DOCKER_BIN" container attach "$CID" - DOKKU_CONTAINER_EXIT_CODE="$("$DOCKER_BIN" container wait "$CID" 2>/dev/null || echo "$DOKKU_CONTAINER_EXIT_CODE")" + if ! "$DOCKER_BIN" container attach "$CID"; then + DOKKU_SKIP_IMAGE_CLEANUP_REGISTRATION=1 plugn trigger scheduler-register-retired "$APP" "$TAR_CID" + plugn trigger scheduler-register-retired "$APP" "$CID" + dokku_log_warn "Failure during app build" + return 1 + fi + DOKKU_CONTAINER_EXIT_CODE="$("$DOCKER_BIN" container wait "$CID" 2>/dev/null || echo "$DOKKU_CONTAINER_EXIT_CODE")" if [[ "$DOKKU_CONTAINER_EXIT_CODE" -ne 0 ]]; then + DOKKU_SKIP_IMAGE_CLEANUP_REGISTRATION=1 plugn trigger scheduler-register-retired "$APP" "$TAR_CID" + plugn trigger scheduler-register-retired "$APP" "$CID" dokku_log_warn "Failure during app build" return 1 fi "$DOCKER_BIN" container commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" "$CID" "$IMAGE" >/dev/null + DOKKU_SKIP_IMAGE_CLEANUP_REGISTRATION=1 plugn trigger scheduler-register-retired "$APP" "$TAR_CID" plugn trigger scheduler-register-retired "$APP" "$CID" - plugn trigger post-build-buildpack "$APP" "$SOURCECODE_WORK_DIR" } From 334e15fbb5823739579c5e6a35ec562082293c5e Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 12 Mar 2022 06:26:11 -0500 Subject: [PATCH 09/13] fix: do not attempt to start a container based on a non-release image Closes #5065 --- plugins/scheduler-docker-local/scheduler-run | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plugins/scheduler-docker-local/scheduler-run b/plugins/scheduler-docker-local/scheduler-run index 0a74df89529..dcf182502c9 100755 --- a/plugins/scheduler-docker-local/scheduler-run +++ b/plugins/scheduler-docker-local/scheduler-run @@ -22,6 +22,12 @@ trigger-scheduler-docker-local-scheduler-run() { local IMAGE_TAG=$(get_running_image_tag "$APP") local IMAGE=$(get_deploying_app_image_name "$APP" "$IMAGE_TAG") + local IMAGE_STAGE="$("$DOCKER_BIN" image inspect -f '{{ index .Config.Labels "com.dokku.image-stage" }}' "$IMAGE")" + if [[ "$IMAGE_STAGE" != "release" ]]; then + dokku_log_warn "Invalid image stage detected: expected 'release', got '$IMAGE_STAGE'" + dokku_log_warn "Successfully deploy your app to fix dokku run calls" + return 1 + fi if [[ -z "$DOKKU_RM_CONTAINER" ]]; then local DOKKU_APP_RM_CONTAINER=$(config_get "$APP" DOKKU_RM_CONTAINER || true) From 880dae3f210bc994cbff1a5bcc6583c3e035e548 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 12 Mar 2022 06:26:35 -0500 Subject: [PATCH 10/13] fix: add image-stage tag to herokuish builder --- plugins/builder-herokuish/builder-build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/builder-herokuish/builder-build b/plugins/builder-herokuish/builder-build index 8829eddfc0c..6edfc1123b4 100755 --- a/plugins/builder-herokuish/builder-build +++ b/plugins/builder-herokuish/builder-build @@ -24,7 +24,7 @@ trigger-builder-herokuish-builder-build() { local DOKKU_APP_CACHE_DIR="$DOKKU_ROOT/$APP/cache" local DOKKU_APP_HOST_CACHE_DIR="$DOKKU_HOST_ROOT/$APP/cache" local DOCKER_COMMIT_LABEL_ARGS=("--change" "LABEL org.label-schema.schema-version=1.0" "--change" "LABEL org.label-schema.vendor=dokku" "--change" "LABEL com.dokku.app-name=$APP") - local DOCKER_RUN_LABEL_ARGS=("--label=com.dokku.app-name=$APP") + local DOCKER_RUN_LABEL_ARGS=("--label=com.dokku.image-stage=build" "--label=com.dokku.app-name=$APP") local CID TAR_CID pushd "$SOURCECODE_WORK_DIR" &>/dev/null From 3daf33d5c24858fff13c35a2b5026d20f6843a43 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sat, 12 Mar 2022 19:22:17 -0500 Subject: [PATCH 11/13] fix: correct shfmt issue --- plugins/common/functions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/common/functions b/plugins/common/functions index 34829c81b22..6ed22601f8d 100755 --- a/plugins/common/functions +++ b/plugins/common/functions @@ -632,7 +632,7 @@ dokku_build() { if [[ -n "$RELEASED_IMAGE_ID" ]]; then dokku_log_warn "Retagging old image $RELEASED_IMAGE_ID as $IMAGE" - "$DOCKER_BIN" image tag "$RELEASED_IMAGE_ID" "$IMAGE" 2> /dev/null || true + "$DOCKER_BIN" image tag "$RELEASED_IMAGE_ID" "$IMAGE" 2>/dev/null || true else dokku_log_warn "Removing invalid image tag $IMAGE" "$DOCKER_BIN" image remove --force --no-prune "$IMAGE" &>/dev/null || true From 86985ad2c97e73652488b3de3ad49a1514baed76 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 20 Apr 2022 23:18:11 -0400 Subject: [PATCH 12/13] fix: properly build args so they expand --- plugins/builder-dockerfile/builder-release | 4 ++-- plugins/builder-herokuish/builder-release | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/builder-dockerfile/builder-release b/plugins/builder-dockerfile/builder-release index 497e5146b94..f5f37f1af48 100755 --- a/plugins/builder-dockerfile/builder-release +++ b/plugins/builder-dockerfile/builder-release @@ -12,7 +12,7 @@ trigger-builder-dockerfile-builder-release() { return fi - local DOCKER_BUILD_LABEL_ARGS="--label=org.label-schema.schema-version=1.0 --label=org.label-schema.vendor=dokku --label=com.dokku.app-name=$APP --label=com.dokku.image-stage=release --label=dokku" + local DOCKER_BUILD_LABEL_ARGS=("--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.app-name=$APP" "--label=com.dokku.image-stage=release" "--label=dokku") plugn trigger pre-release-dockerfile "$APP" "$IMAGE_TAG" @@ -20,7 +20,7 @@ trigger-builder-dockerfile-builder-release() { trap "rm -rf '$TMP_WORK_DIR' >/dev/null" RETURN INT TERM EXIT local IMAGE=$(get_app_image_name "$APP" "$IMAGE_TAG") - if ! suppress_output "$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS -f "$PLUGIN_AVAILABLE_PATH/builder-dockerfile/dockerfiles/builder-release.Dockerfile" --build-arg APP_IMAGE="$IMAGE" -t $IMAGE "$TMP_WORK_DIR"; then + if ! "$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS -f "$PLUGIN_AVAILABLE_PATH/builder-dockerfile/dockerfiles/builder-release.Dockerfile" --build-arg APP_IMAGE="$IMAGE" -t "$IMAGE" "$TMP_WORK_DIR"; then dokku_log_warn "Failure injecting docker labels on image" return 1 fi diff --git a/plugins/builder-herokuish/builder-release b/plugins/builder-herokuish/builder-release index 199a7aa775e..7dc7efd4770 100755 --- a/plugins/builder-herokuish/builder-release +++ b/plugins/builder-herokuish/builder-release @@ -15,7 +15,7 @@ trigger-builder-herokuish-builder-release() { local CID local IMAGE=$(get_app_image_name "$APP" "$IMAGE_TAG") - local DOCKER_BUILD_LABEL_ARGS="--label=org.label-schema.schema-version=1.0 --label=org.label-schema.vendor=dokku --label=com.dokku.app-name=$APP --label=com.dokku.image-stage=release --label=dokku" + local DOCKER_BUILD_LABEL_ARGS=("--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.app-name=$APP" "--label=com.dokku.image-stage=release" "--label=dokku") plugn trigger pre-release-buildpack "$APP" "$IMAGE_TAG" @@ -25,7 +25,7 @@ trigger-builder-herokuish-builder-release() { config_export global >"$TMP_WORK_DIR/00-global-env.sh" config_export app "$APP" >"$TMP_WORK_DIR/01-app-env.sh" - if ! suppress_output "$DOCKER_BIN" image build $DOCKER_BUILD_LABEL_ARGS $DOKKU_GLOBAL_BUILD_ARGS -f "$PLUGIN_AVAILABLE_PATH/builder-herokuish/dockerfiles/builder-release.Dockerfile" --build-arg APP_IMAGE="$IMAGE" -t $IMAGE "$TMP_WORK_DIR"; then + if ! suppress_output "$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS -f "$PLUGIN_AVAILABLE_PATH/builder-herokuish/dockerfiles/builder-release.Dockerfile" --build-arg APP_IMAGE="$IMAGE" -t "$IMAGE" "$TMP_WORK_DIR"; then dokku_log_warn "Failure injecting environment variables" return 1 fi From 73b75970dfd64a4761579a3400025baa093a89b3 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 20 Apr 2022 23:27:55 -0400 Subject: [PATCH 13/13] fix: remove extra whitespace --- plugins/builder-dockerfile/builder-release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/builder-dockerfile/builder-release b/plugins/builder-dockerfile/builder-release index f5f37f1af48..cf3527ffd4e 100755 --- a/plugins/builder-dockerfile/builder-release +++ b/plugins/builder-dockerfile/builder-release @@ -12,7 +12,7 @@ trigger-builder-dockerfile-builder-release() { return fi - local DOCKER_BUILD_LABEL_ARGS=("--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.app-name=$APP" "--label=com.dokku.image-stage=release" "--label=dokku") + local DOCKER_BUILD_LABEL_ARGS=("--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.app-name=$APP" "--label=com.dokku.image-stage=release" "--label=dokku") plugn trigger pre-release-dockerfile "$APP" "$IMAGE_TAG"