From 2d3782c8ebab8ecfe2d2671e3748eb71bec2e534 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 7 Dec 2025 08:57:15 -0500 Subject: [PATCH 1/6] fix: pass global build args as array when building nixpacks apps Refs #8187 --- plugins/builder-nixpacks/builder-build | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/builder-nixpacks/builder-build b/plugins/builder-nixpacks/builder-build index d74d9ba3a..ab85a5766 100755 --- a/plugins/builder-nixpacks/builder-build +++ b/plugins/builder-nixpacks/builder-build @@ -35,7 +35,6 @@ trigger-builder-nixpacks-builder-build() { local DOCKER_ARGS=$(: | plugn trigger docker-args-build "$APP" "$BUILDER_TYPE") DOCKER_ARGS+=$(: | plugn trigger docker-args-process-build "$APP" "$BUILDER_TYPE") - DOCKER_ARGS+=" $DOKKU_GLOBAL_BUILD_ARGS" DOCKER_ARGS=" $DOCKER_ARGS " eval set -- "$DOCKER_ARGS" @@ -244,7 +243,7 @@ trigger-builder-nixpacks-builder-build() { eval "$(config_export app "$APP" --merged)" # shellcheck disable=SC2086 - if ! nixpacks build "${DOCKER_BUILD_LABEL_ARGS[@]}" "${NIXPACKS_ARGS[@]}" --name "$IMAGE" "$SOURCECODE_WORK_DIR"; then + if ! nixpacks build "${DOCKER_BUILD_LABEL_ARGS[@]}" "${NIXPACKS_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS --name "$IMAGE" "$SOURCECODE_WORK_DIR"; then dokku_log_warn "Failure building image" return 1 fi From e7be49f0ce128beb7850ae6baeb3af583b889b78 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 24 Dec 2025 00:09:37 -0500 Subject: [PATCH 2/6] fix: ensure all build flags are consumed as an array --- plugins/builder-dockerfile/builder-build | 2 +- plugins/builder-herokuish/builder-build | 2 +- plugins/builder-herokuish/pre-build | 2 +- plugins/builder-lambda/builder-release | 2 +- plugins/builder-nixpacks/builder-build | 7 ++++-- plugins/builder-nixpacks/builder-release | 2 +- plugins/builder-railpack/builder-build | 2 +- plugins/builder-railpack/builder-release | 3 ++- tests/unit/builder-dockerfile.bats | 28 +++++++++++++++++++++++ tests/unit/builder-herokuish.bats | 29 ++++++++++++++++++++++++ tests/unit/builder-lambda.bats | 28 +++++++++++++++++++++++ tests/unit/builder-nixpacks.bats | 29 ++++++++++++++++++++++++ tests/unit/builder-pack.bats | 28 +++++++++++++++++++++++ 13 files changed, 155 insertions(+), 9 deletions(-) diff --git a/plugins/builder-dockerfile/builder-build b/plugins/builder-dockerfile/builder-build index f8c8c46fa..1fc87e7ab 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=dokku" "--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.image-stage=build" "--label=com.dokku.builder-type=dockerfile" "--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.image-stage=build" "--label=com.dokku.builder-type=dockerfile" "--label=com.dokku.app-name=$APP" "--label=dokku") pushd "$SOURCECODE_WORK_DIR" &>/dev/null diff --git a/plugins/builder-herokuish/builder-build b/plugins/builder-herokuish/builder-build index 0ad5d5aac..f8a396512 100755 --- a/plugins/builder-herokuish/builder-build +++ b/plugins/builder-herokuish/builder-build @@ -45,7 +45,7 @@ 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" - 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.image-stage=build" "--label=com.dokku.builder-type=herokuish" "--label=com.dokku.app-name=$APP" "--label=dokku") DOKKU_APP_USER=$(config_get "$APP" DOKKU_APP_USER || true) DOKKU_APP_USER=${DOKKU_APP_USER:="herokuishuser"} if ! suppress_output "$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS -f "$PLUGIN_AVAILABLE_PATH/builder-herokuish/dockerfiles/copy-source.Dockerfile" --build-arg APP_IMAGE="$DOKKU_IMAGE" --build-arg "DOKKU_APP_USER=$DOKKU_APP_USER" --build-arg "TRACE=$DOKKU_TRACE" -t $IMAGE "$SOURCECODE_WORK_DIR"; then diff --git a/plugins/builder-herokuish/pre-build b/plugins/builder-herokuish/pre-build index 2e2234d33..35bd1bb9e 100755 --- a/plugins/builder-herokuish/pre-build +++ b/plugins/builder-herokuish/pre-build @@ -14,7 +14,7 @@ trigger-builder-herokuish-pre-build-buildpack() { 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" + local DOCKER_BUILD_LABEL_ARGS=("--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.image-stage=build" "--label=com.dokku.builder-type=herokuish" "--label=com.dokku.app-name=$APP" "--label=dokku") IMAGE=$(get_app_image_name "$APP") diff --git a/plugins/builder-lambda/builder-release b/plugins/builder-lambda/builder-release index adedd36de..fcfe701bb 100755 --- a/plugins/builder-lambda/builder-release +++ b/plugins/builder-lambda/builder-release @@ -22,7 +22,7 @@ trigger-builder-lambda-builder-release() { TMP_WORK_DIR="$(mktemp -d "/tmp/dokku-${DOKKU_PID}-${FUNCNAME[0]}.XXXXXX")" trap "rm -rf '$TMP_WORK_DIR' >/dev/null" RETURN INT TERM EXIT - 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.image-stage=release" "--label=com.dokku.builder-type=lambda" "--label=com.dokku.app-name=$APP" "--label=dokku") if ! suppress_output "$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS -f "$PLUGIN_AVAILABLE_PATH/builder-lambda/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 diff --git a/plugins/builder-nixpacks/builder-build b/plugins/builder-nixpacks/builder-build index ab85a5766..df8662b55 100755 --- a/plugins/builder-nixpacks/builder-build +++ b/plugins/builder-nixpacks/builder-build @@ -6,6 +6,7 @@ set -eo pipefail [[ $DOKKU_TRACE ]] && set -x trigger-builder-nixpacks-builder-build() { + set -x declare desc="builder-nixpacks builder-build plugin trigger" declare trigger="builder-build" declare BUILDER_TYPE="$1" APP="$2" SOURCECODE_WORK_DIR="$3" @@ -21,7 +22,7 @@ trigger-builder-nixpacks-builder-build() { fi local IMAGE=$(get_app_image_name "$APP") - local DOCKER_BUILD_LABEL_ARGS=("--label=dokku" "--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.image-stage=build" "--label=com.dokku.builder-type=nixpacks" "--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.image-stage=build" "--label=com.dokku.builder-type=nixpacks" "--label=com.dokku.app-name=$APP" "--label=dokku") pushd "$SOURCECODE_WORK_DIR" &>/dev/null @@ -35,6 +36,7 @@ trigger-builder-nixpacks-builder-build() { local DOCKER_ARGS=$(: | plugn trigger docker-args-build "$APP" "$BUILDER_TYPE") DOCKER_ARGS+=$(: | plugn trigger docker-args-process-build "$APP" "$BUILDER_TYPE") + DOCKER_ARGS+=" $DOKKU_GLOBAL_BUILD_ARGS" DOCKER_ARGS=" $DOCKER_ARGS " eval set -- "$DOCKER_ARGS" @@ -243,7 +245,7 @@ trigger-builder-nixpacks-builder-build() { eval "$(config_export app "$APP" --merged)" # shellcheck disable=SC2086 - if ! nixpacks build "${DOCKER_BUILD_LABEL_ARGS[@]}" "${NIXPACKS_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS --name "$IMAGE" "$SOURCECODE_WORK_DIR"; then + if ! nixpacks build "${DOCKER_BUILD_LABEL_ARGS[@]}" "${NIXPACKS_ARGS[@]}" --name "$IMAGE" "$SOURCECODE_WORK_DIR"; then dokku_log_warn "Failure building image" return 1 fi @@ -255,6 +257,7 @@ trigger-builder-nixpacks-builder-build() { plugn trigger post-build "$BUILDER_TYPE" "$APP" "$SOURCECODE_WORK_DIR" popd &>/dev/null || pushd "/tmp" >/dev/null + set +x } trigger-builder-nixpacks-builder-build "$@" diff --git a/plugins/builder-nixpacks/builder-release b/plugins/builder-nixpacks/builder-release index 7b0d4e23c..ca75d124f 100755 --- a/plugins/builder-nixpacks/builder-release +++ b/plugins/builder-nixpacks/builder-release @@ -18,7 +18,7 @@ trigger-builder-nixpacks-builder-release() { TMP_WORK_DIR="$(mktemp -d "/tmp/dokku-${DOKKU_PID}-${FUNCNAME[0]}.XXXXXX")" trap "rm -rf '$TMP_WORK_DIR' >/dev/null" RETURN INT TERM EXIT - 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.image-stage=release" "--label=com.dokku.builder-type=nixpacks" "--label=com.dokku.app-name=$APP" "--label=dokku") if ! suppress_output "$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS -f "$PLUGIN_AVAILABLE_PATH/builder-nixpacks/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 diff --git a/plugins/builder-railpack/builder-build b/plugins/builder-railpack/builder-build index 3b7e7e6df..1cfdd4322 100755 --- a/plugins/builder-railpack/builder-build +++ b/plugins/builder-railpack/builder-build @@ -21,7 +21,7 @@ trigger-builder-railpack-builder-build() { fi local IMAGE=$(get_app_image_name "$APP") - local DOCKER_BUILD_LABEL_ARGS=("--label=dokku" "--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.image-stage=build" "--label=com.dokku.builder-type=railpack" "--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.image-stage=build" "--label=com.dokku.builder-type=railpack" "--label=com.dokku.app-name=$APP" "--label=dokku") pushd "$SOURCECODE_WORK_DIR" &>/dev/null diff --git a/plugins/builder-railpack/builder-release b/plugins/builder-railpack/builder-release index 7c3650421..dbaa730f5 100755 --- a/plugins/builder-railpack/builder-release +++ b/plugins/builder-railpack/builder-release @@ -18,7 +18,8 @@ trigger-builder-railpack-builder-release() { TMP_WORK_DIR="$(mktemp -d "/tmp/dokku-${DOKKU_PID}-${FUNCNAME[0]}.XXXXXX")" trap "rm -rf '$TMP_WORK_DIR' >/dev/null" RETURN INT TERM EXIT - 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.image-stage=release" "--label=com.dokku.builder-type=railpack" "--label=com.dokku.app-name=$APP" "--label=dokku") + if ! suppress_output "$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS -f "$PLUGIN_AVAILABLE_PATH/builder-railpack/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 diff --git a/tests/unit/builder-dockerfile.bats b/tests/unit/builder-dockerfile.bats index 5a5b0f3db..0205dd334 100644 --- a/tests/unit/builder-dockerfile.bats +++ b/tests/unit/builder-dockerfile.bats @@ -135,3 +135,31 @@ EOF echo "status: $status" assert_success } + +@test "(builder-dockerfile) run" { + run /bin/bash -c "dokku config:set $TEST_APP SECRET_KEY=fjdkslafjdk" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku builder:set $TEST_APP selected dockerfile" + echo "output: $output" + echo "status: $status" + assert_success + + run deploy_app dockerfile + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku ps:inspect $TEST_APP" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku run $TEST_APP env" + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "SECRET_KEY=fjdkslafjdk" +} \ No newline at end of file diff --git a/tests/unit/builder-herokuish.bats b/tests/unit/builder-herokuish.bats index 3501e8412..90560c14a 100644 --- a/tests/unit/builder-herokuish.bats +++ b/tests/unit/builder-herokuish.bats @@ -88,3 +88,32 @@ teardown() { echo "status: $status" assert_failure } + + +@test "(builder-herokuish) run" { + run /bin/bash -c "dokku config:set $TEST_APP SECRET_KEY=fjdkslafjdk" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku builder:set $TEST_APP selected herokuish" + echo "output: $output" + echo "status: $status" + assert_success + + run deploy_app python dokku@$DOKKU_DOMAIN:$TEST_APP + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku ps:inspect $TEST_APP" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku run $TEST_APP env" + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "SECRET_KEY=fjdkslafjdk" +} \ No newline at end of file diff --git a/tests/unit/builder-lambda.bats b/tests/unit/builder-lambda.bats index 57d01668b..367b0b3dd 100644 --- a/tests/unit/builder-lambda.bats +++ b/tests/unit/builder-lambda.bats @@ -134,6 +134,34 @@ teardown() { assert_success } +@test "(builder-lambda) run" { + run /bin/bash -c "dokku config:set $TEST_APP SECRET_KEY=fjdkslafjdk" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku builder:set $TEST_APP selected lambda" + echo "output: $output" + echo "status: $status" + assert_success + + run deploy_app python dokku@$DOKKU_DOMAIN:$TEST_APP inject_lambda_yml + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku ps:inspect $TEST_APP" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku run $TEST_APP env" + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "SECRET_KEY=fjdkslafjdk" +} + inject_lambda_yml() { local APP="$1" local APP_REPO_DIR="$2" diff --git a/tests/unit/builder-nixpacks.bats b/tests/unit/builder-nixpacks.bats index 5fe1dfbbf..9309c7bba 100644 --- a/tests/unit/builder-nixpacks.bats +++ b/tests/unit/builder-nixpacks.bats @@ -44,6 +44,35 @@ teardown() { assert_output_contains 'load build definition from Dockerfile' } +@test "(builder-nixpacks) run" { + run /bin/bash -c "dokku config:set $TEST_APP SECRET_KEY=fjdkslafjdk" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku builder:set $TEST_APP selected nixpacks" + echo "output: $output" + echo "status: $status" + assert_success + + run deploy_app python dokku@$DOKKU_DOMAIN:$TEST_APP inject_requirements_txt + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku ps:inspect $TEST_APP" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku run $TEST_APP env" + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "SECRET_KEY=fjdkslafjdk" +} + + inject_requirements_txt() { local APP="$1" local APP_REPO_DIR="$2" diff --git a/tests/unit/builder-pack.bats b/tests/unit/builder-pack.bats index fad2052fb..09c659566 100644 --- a/tests/unit/builder-pack.bats +++ b/tests/unit/builder-pack.bats @@ -126,3 +126,31 @@ teardown() { assert_success assert_output_contains '"APP_RESPECTS_ENV_VARS": "1"' } + +@test "(builder-pack) run" { + run /bin/bash -c "dokku config:set $TEST_APP SECRET_KEY=fjdkslafjdk" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku builder:set $TEST_APP selected pack" + echo "output: $output" + echo "status: $status" + assert_success + + run deploy_app python dokku@$DOKKU_DOMAIN:$TEST_APP add_requirements_txt_cnb + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku ps:inspect $TEST_APP" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku run $TEST_APP env" + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "SECRET_KEY=fjdkslafjdk" +} \ No newline at end of file From bba2cd9710d2aab80bfa6cbd5392595be9f13de2 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 24 Dec 2025 00:35:38 -0500 Subject: [PATCH 3/6] fix: correct lint issues --- tests/unit/builder-dockerfile.bats | 2 +- tests/unit/builder-herokuish.bats | 3 +-- tests/unit/builder-nixpacks.bats | 1 - tests/unit/builder-pack.bats | 2 +- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/tests/unit/builder-dockerfile.bats b/tests/unit/builder-dockerfile.bats index 0205dd334..754a09be1 100644 --- a/tests/unit/builder-dockerfile.bats +++ b/tests/unit/builder-dockerfile.bats @@ -162,4 +162,4 @@ EOF echo "status: $status" assert_success assert_output_contains "SECRET_KEY=fjdkslafjdk" -} \ No newline at end of file +} diff --git a/tests/unit/builder-herokuish.bats b/tests/unit/builder-herokuish.bats index 90560c14a..8677d52e5 100644 --- a/tests/unit/builder-herokuish.bats +++ b/tests/unit/builder-herokuish.bats @@ -89,7 +89,6 @@ teardown() { assert_failure } - @test "(builder-herokuish) run" { run /bin/bash -c "dokku config:set $TEST_APP SECRET_KEY=fjdkslafjdk" echo "output: $output" @@ -116,4 +115,4 @@ teardown() { echo "status: $status" assert_success assert_output_contains "SECRET_KEY=fjdkslafjdk" -} \ No newline at end of file +} diff --git a/tests/unit/builder-nixpacks.bats b/tests/unit/builder-nixpacks.bats index 9309c7bba..98a9734b5 100644 --- a/tests/unit/builder-nixpacks.bats +++ b/tests/unit/builder-nixpacks.bats @@ -72,7 +72,6 @@ teardown() { assert_output_contains "SECRET_KEY=fjdkslafjdk" } - inject_requirements_txt() { local APP="$1" local APP_REPO_DIR="$2" diff --git a/tests/unit/builder-pack.bats b/tests/unit/builder-pack.bats index 09c659566..ef62e7ea3 100644 --- a/tests/unit/builder-pack.bats +++ b/tests/unit/builder-pack.bats @@ -153,4 +153,4 @@ teardown() { echo "status: $status" assert_success assert_output_contains "SECRET_KEY=fjdkslafjdk" -} \ No newline at end of file +} From d5c44e80e794fa4eaab053d77ff4ce29ac116902 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 24 Dec 2025 04:08:18 -0500 Subject: [PATCH 4/6] fix: remove duplicate test --- tests/unit/builder-pack.bats | 44 +++++++++++++----------------------- 1 file changed, 16 insertions(+), 28 deletions(-) diff --git a/tests/unit/builder-pack.bats b/tests/unit/builder-pack.bats index ef62e7ea3..3ad4eaf1a 100644 --- a/tests/unit/builder-pack.bats +++ b/tests/unit/builder-pack.bats @@ -77,6 +77,11 @@ teardown() { } @test "(builder-pack) run" { + run /bin/bash -c "dokku config:set $TEST_APP SECRET_KEY=fjdkslafjdk" + echo "output: $output" + echo "status: $status" + assert_success + run /bin/bash -c "dokku builder:set $TEST_APP selected pack" echo "output: $output" echo "status: $status" @@ -95,6 +100,17 @@ teardown() { echo "status: $status" assert_success assert_output "['task.py', 'test']" + + run /bin/bash -c "dokku ps:inspect $TEST_APP" + echo "output: $output" + echo "status: $status" + assert_success + + run /bin/bash -c "dokku run $TEST_APP env" + echo "output: $output" + echo "status: $status" + assert_success + assert_output_contains "SECRET_KEY=fjdkslafjdk" } @test "(builder-pack) git:from-image without a Procfile" { @@ -126,31 +142,3 @@ teardown() { assert_success assert_output_contains '"APP_RESPECTS_ENV_VARS": "1"' } - -@test "(builder-pack) run" { - run /bin/bash -c "dokku config:set $TEST_APP SECRET_KEY=fjdkslafjdk" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku builder:set $TEST_APP selected pack" - echo "output: $output" - echo "status: $status" - assert_success - - run deploy_app python dokku@$DOKKU_DOMAIN:$TEST_APP add_requirements_txt_cnb - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku ps:inspect $TEST_APP" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku run $TEST_APP env" - echo "output: $output" - echo "status: $status" - assert_success - assert_output_contains "SECRET_KEY=fjdkslafjdk" -} From 89c260ac843c618f223589e7e37be8df761a12fe Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 24 Dec 2025 15:32:18 -0500 Subject: [PATCH 5/6] fix: deploy correct app for lambda tests --- tests/unit/builder-lambda.bats | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit/builder-lambda.bats b/tests/unit/builder-lambda.bats index 367b0b3dd..ec13b1152 100644 --- a/tests/unit/builder-lambda.bats +++ b/tests/unit/builder-lambda.bats @@ -145,7 +145,7 @@ teardown() { echo "status: $status" assert_success - run deploy_app python dokku@$DOKKU_DOMAIN:$TEST_APP inject_lambda_yml + run deploy_app lambda-python dokku@$DOKKU_DOMAIN:$TEST_APP inject_lambda_yml echo "output: $output" echo "status: $status" assert_success From 9d18896c4ce8b1f0d4230b80e71e08bc31a1747a Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 24 Dec 2025 17:05:50 -0500 Subject: [PATCH 6/6] tests: drop lambda run tests as they shouldn't be relevant These are functions and therefore are invoked differently. --- tests/unit/builder-lambda.bats | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/tests/unit/builder-lambda.bats b/tests/unit/builder-lambda.bats index ec13b1152..57d01668b 100644 --- a/tests/unit/builder-lambda.bats +++ b/tests/unit/builder-lambda.bats @@ -134,34 +134,6 @@ teardown() { assert_success } -@test "(builder-lambda) run" { - run /bin/bash -c "dokku config:set $TEST_APP SECRET_KEY=fjdkslafjdk" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku builder:set $TEST_APP selected lambda" - echo "output: $output" - echo "status: $status" - assert_success - - run deploy_app lambda-python dokku@$DOKKU_DOMAIN:$TEST_APP inject_lambda_yml - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku ps:inspect $TEST_APP" - echo "output: $output" - echo "status: $status" - assert_success - - run /bin/bash -c "dokku run $TEST_APP env" - echo "output: $output" - echo "status: $status" - assert_success - assert_output_contains "SECRET_KEY=fjdkslafjdk" -} - inject_lambda_yml() { local APP="$1" local APP_REPO_DIR="$2"