build: imporove speed to local run

prior to this change, 'make run' has to wait for the release
tar ball to be created.
now it just copy the release files and run
This commit is contained in:
Zaiming (Stone) Shi 2023-04-28 22:42:27 +02:00
parent 5f835627f9
commit ee61648368
3 changed files with 7 additions and 9 deletions

9
build
View File

@ -125,6 +125,7 @@ assert_no_compile_time_only_deps() {
} }
make_rel() { make_rel() {
local release_or_tar="${1}"
./scripts/pre-compile.sh "$PROFILE" ./scripts/pre-compile.sh "$PROFILE"
# make_elixir_rel always create rebar.lock # make_elixir_rel always create rebar.lock
# delete it to make git clone + checkout work because we use shallow close for rebar deps # delete it to make git clone + checkout work because we use shallow close for rebar deps
@ -134,7 +135,7 @@ make_rel() {
# generate docs (require beam compiled), generated to etc and priv dirs # generate docs (require beam compiled), generated to etc and priv dirs
make_docs make_docs
# now assemble the release tar # now assemble the release tar
./rebar3 as "$PROFILE" tar ./rebar3 as "$PROFILE" "$release_or_tar"
assert_no_compile_time_only_deps assert_no_compile_time_only_deps
} }
@ -220,7 +221,7 @@ make_tgz() {
else else
# build the src_tarball again to ensure relup is included # build the src_tarball again to ensure relup is included
# elixir does not have relup yet. # elixir does not have relup yet.
make_rel make_rel tar
local relpath="_build/${PROFILE}/rel/emqx" local relpath="_build/${PROFILE}/rel/emqx"
full_vsn="$(./pkg-vsn.sh "$PROFILE" --long)" full_vsn="$(./pkg-vsn.sh "$PROFILE" --long)"
@ -378,7 +379,7 @@ case "$ARTIFACT" in
make_docs make_docs
;; ;;
rel) rel)
make_rel make_rel release
;; ;;
relup) relup)
make_relup make_relup
@ -397,7 +398,7 @@ case "$ARTIFACT" in
if [ "${IS_ELIXIR:-}" = 'yes' ]; then if [ "${IS_ELIXIR:-}" = 'yes' ]; then
make_elixir_rel make_elixir_rel
else else
make_rel make_rel tar
fi fi
env EMQX_REL="$(pwd)" \ env EMQX_REL="$(pwd)" \
EMQX_BUILD="${PROFILE}" \ EMQX_BUILD="${PROFILE}" \

View File

@ -45,7 +45,7 @@
emqx_ssl_crl_cache emqx_ssl_crl_cache
]}. ]}.
{provider_hooks, [{pre, [{release, {relup_helper, gen_appups}}]}]}. %{provider_hooks, [{pre, [{release, {relup_helper, gen_appups}}]}]}.
{post_hooks,[]}. {post_hooks,[]}.

View File

@ -156,7 +156,7 @@ project_app_dirs(Edition) ->
plugins() -> plugins() ->
[ [
{relup_helper, {git, "https://github.com/emqx/relup_helper", {tag, "2.1.0"}}}, %{relup_helper, {git, "https://github.com/emqx/relup_helper", {tag, "2.1.0"}}},
%% emqx main project does not require port-compiler %% emqx main project does not require port-compiler
%% pin at root level for deterministic %% pin at root level for deterministic
{pc, "v1.14.0"} {pc, "v1.14.0"}
@ -495,11 +495,8 @@ relx_overlay(ReleaseType, Edition) ->
{copy, "bin/emqx_cluster_rescue", "bin/emqx_cluster_rescue"}, {copy, "bin/emqx_cluster_rescue", "bin/emqx_cluster_rescue"},
{copy, "bin/node_dump", "bin/node_dump"}, {copy, "bin/node_dump", "bin/node_dump"},
{copy, "bin/install_upgrade.escript", "bin/install_upgrade.escript"}, {copy, "bin/install_upgrade.escript", "bin/install_upgrade.escript"},
%% for relup
{copy, "bin/emqx", "bin/emqx-{{release_version}}"}, {copy, "bin/emqx", "bin/emqx-{{release_version}}"},
%% for relup
{copy, "bin/emqx_ctl", "bin/emqx_ctl-{{release_version}}"}, {copy, "bin/emqx_ctl", "bin/emqx_ctl-{{release_version}}"},
%% for relup
{copy, "bin/install_upgrade.escript", "bin/install_upgrade.escript-{{release_version}}"}, {copy, "bin/install_upgrade.escript", "bin/install_upgrade.escript-{{release_version}}"},
{copy, "apps/emqx_gateway_lwm2m/lwm2m_xml", "etc/lwm2m_xml"}, {copy, "apps/emqx_gateway_lwm2m/lwm2m_xml", "etc/lwm2m_xml"},
{copy, "apps/emqx_authz/etc/acl.conf", "etc/acl.conf"}, {copy, "apps/emqx_authz/etc/acl.conf", "etc/acl.conf"},