diff --git a/plugins/00_dokku-standard/exec-app-json-scripts b/plugins/app-json/internal-functions similarity index 100% rename from plugins/00_dokku-standard/exec-app-json-scripts rename to plugins/app-json/internal-functions diff --git a/plugins/app-json/plugin.toml b/plugins/app-json/plugin.toml new file mode 100644 index 000000000..9069903ae --- /dev/null +++ b/plugins/app-json/plugin.toml @@ -0,0 +1,4 @@ +[plugin] +description = "dokku core app-json plugin" +version = "0.13.4" +[plugin.config] diff --git a/plugins/00_dokku-standard/post-deploy b/plugins/app-json/post-deploy similarity index 61% rename from plugins/00_dokku-standard/post-deploy rename to plugins/app-json/post-deploy index 3cc3e2fba..2b78e2ee4 100755 --- a/plugins/00_dokku-standard/post-deploy +++ b/plugins/app-json/post-deploy @@ -2,11 +2,11 @@ set -eo pipefail [[ $DOKKU_TRACE ]] && set -x source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions" -source "$PLUGIN_CORE_AVAILABLE_PATH/00_dokku-standard/exec-app-json-scripts" +source "$PLUGIN_CORE_AVAILABLE_PATH/app-json/internal-functions" -exec_app_json_scripts() { - declare desc="core app.json scripts execution" - local trigger="post-deploy app_json_scripts" +app_json_post_deploy() { + declare desc="app-json scripts execution" + local trigger="app_json_post_deploy" local APP="$1" local IMAGE_TAG="$4" local PHASE_SCRIPT_KEY="postdeploy" @@ -15,4 +15,4 @@ exec_app_json_scripts() { execute_script "$APP" "$IMAGE_TAG" "$PHASE_SCRIPT_KEY" } -exec_app_json_scripts "$@" +app_json_post_deploy "$@" diff --git a/plugins/00_dokku-standard/pre-deploy b/plugins/app-json/pre-deploy similarity index 61% rename from plugins/00_dokku-standard/pre-deploy rename to plugins/app-json/pre-deploy index 4c9d369af..43d58b895 100755 --- a/plugins/00_dokku-standard/pre-deploy +++ b/plugins/app-json/pre-deploy @@ -2,11 +2,11 @@ set -eo pipefail [[ $DOKKU_TRACE ]] && set -x source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions" -source "$PLUGIN_CORE_AVAILABLE_PATH/00_dokku-standard/exec-app-json-scripts" +source "$PLUGIN_CORE_AVAILABLE_PATH/app-json/internal-functions" -exec_app_json_scripts() { - declare desc="core app.json scripts execution" - local trigger="pre-deploy app_json_scripts" +app_json_pre_deploy() { + declare desc="app-json scripts execution" + local trigger="app_json_pre_deploy" local APP="$1" local IMAGE_TAG="$2" local PHASE_SCRIPT_KEY="predeploy" @@ -15,4 +15,4 @@ exec_app_json_scripts() { execute_script "$APP" "$IMAGE_TAG" "$PHASE_SCRIPT_KEY" } -exec_app_json_scripts "$@" +app_json_pre_deploy "$@" diff --git a/tests/unit/30_core_1.bats b/tests/unit/30_core_1.bats index ef72aecdd..edb22b6ce 100644 --- a/tests/unit/30_core_1.bats +++ b/tests/unit/30_core_1.bats @@ -180,24 +180,3 @@ EOF echo "status: $status" assert_output "3001/udp 3000/tcp 3003" } - -@test "(core) app.json scripts" { - deploy_app - - run /bin/bash -c "dokku run $TEST_APP ls /app/prebuild.test" - echo "output: $output" - echo "status: $status" - assert_failure - - run /bin/bash -c "dokku run $TEST_APP ls /app/predeploy.test" - echo "output: $output" - echo "status: $status" - assert_success - - CID=$(docker ps -a -q -f "ancestor=dokku/${TEST_APP}" -f "label=dokku_phase_script=postdeploy") - IMAGE_ID=$(docker commit $CID dokku-test/${TEST_APP}) - run /bin/bash -c "docker run -ti $IMAGE_ID ls /app/postdeploy.test" - echo "output: $output" - echo "status: $status" - assert_success -} diff --git a/tests/unit/40_app-json.bats b/tests/unit/40_app-json.bats new file mode 100644 index 000000000..b540daabb --- /dev/null +++ b/tests/unit/40_app-json.bats @@ -0,0 +1,38 @@ +#!/usr/bin/env bats + +load test_helper + +setup() { + global_setup + create_app + DOCKERFILE="$BATS_TMPDIR/Dockerfile" +} + +teardown() { + rm -rf /home/dokku/$TEST_APP/tls + destroy_app + dokku config:unset --global DOKKU_RM_CONTAINER + rm -f "$DOCKERFILE" + global_teardown +} + +@test "(app-json) app.json scripts" { + deploy_app + + run /bin/bash -c "dokku run $TEST_APP ls /app/prebuild.test" + echo "output: $output" + echo "status: $status" + assert_failure + + run /bin/bash -c "dokku run $TEST_APP ls /app/predeploy.test" + echo "output: $output" + echo "status: $status" + assert_success + + CID=$(docker ps -a -q -f "ancestor=dokku/${TEST_APP}" -f "label=dokku_phase_script=postdeploy") + IMAGE_ID=$(docker commit $CID dokku-test/${TEST_APP}) + run /bin/bash -c "docker run -ti $IMAGE_ID ls /app/postdeploy.test" + echo "output: $output" + echo "status: $status" + assert_success +}