feat: generate relup tarball
To generate a tarball, tag the release and then: ``` make emqx-enterprise-relup ```
This commit is contained in:
parent
c8258cebe8
commit
e9163f2752
33
build
33
build
|
@ -213,37 +213,8 @@ make_elixir_rel() {
|
|||
|
||||
## extract previous version .tar.gz files to _build/$PROFILE/rel/emqx before making relup
|
||||
make_relup() {
|
||||
local rel_dir="_build/$PROFILE/rel/emqx"
|
||||
local name_pattern
|
||||
name_pattern="${PROFILE}-$(./pkg-vsn.sh "$PROFILE" --vsn_matcher --long)"
|
||||
local releases=()
|
||||
mkdir -p _upgrade_base
|
||||
while read -r tgzfile ; do
|
||||
local base_vsn
|
||||
base_vsn="$(echo "$tgzfile" | grep -oE "[0-9]+\.[0-9]+\.[0-9]+(-(alpha|beta|rc)\.[0-9])?(-[0-9a-f]{8})?" | head -1)"
|
||||
## we have to create tmp dir to untar old tgz, as `tar --skip-old-files` is not supported on all plantforms
|
||||
local tmp_dir
|
||||
tmp_dir="$(mktemp -d -t emqx.XXXXXXX)"
|
||||
$TAR -C "$tmp_dir" -zxf "$tgzfile"
|
||||
mkdir -p "${rel_dir}/releases/"
|
||||
cp -npr "$tmp_dir/releases"/* "${rel_dir}/releases/"
|
||||
## There is for some reason a copy of the '$PROFILE.rel' file to releases dir,
|
||||
## the content is duplicated to releases/5.0.0/$PROFILE.rel.
|
||||
## This file seems to be useless, but yet confusing as it does not change after upgrade/downgrade
|
||||
## Hence we force delete this file.
|
||||
rm -f "${rel_dir}/releases/${PROFILE}.rel"
|
||||
mkdir -p "${rel_dir}/lib/"
|
||||
cp -npr "$tmp_dir/lib"/* "${rel_dir}/lib/"
|
||||
rm -rf "$tmp_dir"
|
||||
releases+=( "$base_vsn" )
|
||||
done < <("$FIND" _upgrade_base -maxdepth 1 -name "${name_pattern}.tar.gz" -type f)
|
||||
if [ ${#releases[@]} -eq 0 ]; then
|
||||
log "No upgrade base found, relup ignored"
|
||||
return 0
|
||||
fi
|
||||
RELX_BASE_VERSIONS="$(IFS=, ; echo "${releases[*]}")"
|
||||
export RELX_BASE_VERSIONS
|
||||
./rebar3 as "$PROFILE" relup --relname emqx --relvsn "${PKG_VSN}"
|
||||
./rebar3 emqx relup_gen --relup-dir=./relup
|
||||
make rel -C _build/default/plugins/emqx_relup
|
||||
}
|
||||
|
||||
cp_dyn_libs() {
|
||||
|
|
|
@ -184,7 +184,7 @@ project_app_excluded("apps/" ++ AppStr, ExcludedApps) ->
|
|||
|
||||
plugins() ->
|
||||
[
|
||||
%{relup_helper, {git, "https://github.com/emqx/relup_helper", {tag, "2.1.0"}}},
|
||||
{emqx_relup, {git, "https://github.com/emqx/emqx-relup.git", {branch, "main"}}},
|
||||
%% emqx main project does not require port-compiler
|
||||
%% pin at root level for deterministic
|
||||
{pc, "v1.14.0"}
|
||||
|
|
Loading…
Reference in New Issue