Explorar o código

feat: generate relup tarball

To generate a tarball, tag the release and then:

```
make emqx-enterprise-relup
```
Shawn hai 1 ano
pai
achega
e9163f2752
Modificáronse 2 ficheiros con 3 adicións e 32 borrados
  1. 2 31
      build
  2. 1 1
      rebar.config.erl

+ 2 - 31
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() {

+ 1 - 1
rebar.config.erl

@@ -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"}