diff --git a/scripts/rel/cut4x.sh b/scripts/rel/cut4x.sh index 58131c757..df142b936 100755 --- a/scripts/rel/cut4x.sh +++ b/scripts/rel/cut4x.sh @@ -230,6 +230,16 @@ if [ "$HAS_RELUP_DB" = 'yes' ]; then ./scripts/relup-base-vsns.escript check-vsn-db "$PKG_VSN" "$RELUP_PATHS" fi +## Run some additional checks (e.g. some for enterprise edition only) +CHECKS_DIR="./scripts/rel/checks" +if [ -d "${CHECKS_DIR}" ]; then + CHECKS="$(find "${CHECKS_DIR}" -name "*.sh" -print0 2>/dev/null | xargs -0)" + for c in $CHECKS; do + logmsg "Executing $c" + $c + done +fi + if [ "$DRYRUN" = 'yes' ]; then logmsg "Release tag is ready to be created with command: git tag $TAG" else diff --git a/test/emqx_node_helpers.erl b/test/emqx_node_helpers.erl index ad530b3d7..af7093dd7 100644 --- a/test/emqx_node_helpers.erl +++ b/test/emqx_node_helpers.erl @@ -40,7 +40,9 @@ start_slave(Name, Opts) -> {ok, _} -> ok; {error, started_not_connected, _} -> - ok + ok; + Other -> + throw(Other) end, pong = net_adm:ping(Node), setup_node(Node, Opts), @@ -92,7 +94,11 @@ setup_node(Node, #{} = Opts) -> end, EnvHandler = maps:get(env_handler, Opts, DefaultEnvHandler), - [ok = rpc:call(Node, application, load, [App]) || App <- [gen_rpc, emqx]], + %% apps need to be loaded before starting for ekka to find and create mnesia tables + LoadApps = lists:usort([gen_rcp, emqx] ++ ?SLAVE_START_APPS), + lists:foreach(fun(App) -> + rpc:call(Node, application, load, [App]) + end, LoadApps), ok = rpc:call(Node, emqx_ct_helpers, start_apps, [StartApps, EnvHandler]), case maps:get(no_join, Opts, false) of