refactor: store db as list and rename file to `relup-paths.eterm`
This commit is contained in:
parent
e7d42dce49
commit
c52286a20a
|
@ -24,7 +24,7 @@ jobs:
|
||||||
- name: Check relup version DB
|
- name: Check relup version DB
|
||||||
run: |
|
run: |
|
||||||
PKG_VSN=$(./pkg-vsn.sh)
|
PKG_VSN=$(./pkg-vsn.sh)
|
||||||
./scripts/relup-base-vsns.escript check-vsn-db $PKG_VSN ./data/relup_bases.eterm
|
./scripts/relup-base-vsns.escript check-vsn-db $PKG_VSN ./data/relup-paths.eterm
|
||||||
- name: Check relup (ce)
|
- name: Check relup (ce)
|
||||||
if: endsWith(github.repository, 'emqx')
|
if: endsWith(github.repository, 'emqx')
|
||||||
run: ./scripts/update-appup.sh emqx --check
|
run: ./scripts/update-appup.sh emqx --check
|
||||||
|
|
2
build
2
build
|
@ -67,7 +67,7 @@ make_rel() {
|
||||||
}
|
}
|
||||||
|
|
||||||
relup_db() {
|
relup_db() {
|
||||||
./scripts/relup-base-vsns.escript "$@" ./data/relup_bases.eterm
|
./scripts/relup-base-vsns.escript "$@" ./data/relup-paths.eterm
|
||||||
}
|
}
|
||||||
|
|
||||||
## unzip previous version .zip files to _build/$PROFILE/rel/emqx/releases before making relup
|
## unzip previous version .zip files to _build/$PROFILE/rel/emqx/releases before making relup
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
%% -*- mode: erlang; -*-
|
||||||
|
|
||||||
|
[{<<"4.4.0">>,#{from_versions => [],otp => <<"24.1.5-3">>}},
|
||||||
|
{<<"4.4.1">>,#{from_versions => [<<"4.4.0">>],otp => <<"24.1.5-3">>}},
|
||||||
|
{<<"4.4.2">>,
|
||||||
|
#{from_versions => [<<"4.4.0">>,<<"4.4.1">>],otp => <<"24.1.5-3">>}},
|
||||||
|
{<<"4.4.3">>,
|
||||||
|
#{from_versions => [<<"4.4.0">>,<<"4.4.1">>,<<"4.4.2">>],
|
||||||
|
otp => <<"24.1.5-3">>}},
|
||||||
|
{<<"4.4.4">>,
|
||||||
|
#{from_versions => [<<"4.4.0">>,<<"4.4.1">>,<<"4.4.2">>,<<"4.4.3">>],
|
||||||
|
otp => <<"24.1.5-3">>}},
|
||||||
|
{<<"4.4.5">>,
|
||||||
|
#{from_versions =>
|
||||||
|
[<<"4.4.0">>,<<"4.4.1">>,<<"4.4.2">>,<<"4.4.3">>,<<"4.4.4">>],
|
||||||
|
otp => <<"24.1.5-3">>}},
|
||||||
|
{<<"4.4.6">>,
|
||||||
|
#{from_versions =>
|
||||||
|
[<<"4.4.0">>,<<"4.4.1">>,<<"4.4.2">>,<<"4.4.3">>,<<"4.4.4">>,
|
||||||
|
<<"4.4.5">>],
|
||||||
|
otp => <<"24.1.5-3">>}},
|
||||||
|
{<<"4.4.7">>,
|
||||||
|
#{from_versions =>
|
||||||
|
[<<"4.4.0">>,<<"4.4.1">>,<<"4.4.2">>,<<"4.4.3">>,<<"4.4.4">>,
|
||||||
|
<<"4.4.5">>,<<"4.4.6">>],
|
||||||
|
otp => <<"24.1.5-3">>}},
|
||||||
|
{<<"4.4.8">>,
|
||||||
|
#{from_versions =>
|
||||||
|
[<<"4.4.0">>,<<"4.4.1">>,<<"4.4.2">>,<<"4.4.3">>,<<"4.4.4">>,
|
||||||
|
<<"4.4.5">>,<<"4.4.6">>,<<"4.4.7">>],
|
||||||
|
otp => <<"24.1.5-3">>}},
|
||||||
|
{<<"4.5.0">>,#{from_versions => [<<"4.4.8">>],otp => <<"24.3.4.2-1">>}}].
|
|
@ -1,32 +0,0 @@
|
||||||
%% -*- mode: erlang; -*-
|
|
||||||
|
|
||||||
#{<<"4.4.0">> => #{from_versions => [],otp => <<"24.1.5-3">>},
|
|
||||||
<<"4.4.1">> => #{from_versions => [<<"4.4.0">>],otp => <<"24.1.5-3">>},
|
|
||||||
<<"4.4.2">> =>
|
|
||||||
#{from_versions => [<<"4.4.0">>,<<"4.4.1">>],otp => <<"24.1.5-3">>},
|
|
||||||
<<"4.4.3">> =>
|
|
||||||
#{from_versions => [<<"4.4.0">>,<<"4.4.1">>,<<"4.4.2">>],
|
|
||||||
otp => <<"24.1.5-3">>},
|
|
||||||
<<"4.4.4">> =>
|
|
||||||
#{from_versions => [<<"4.4.0">>,<<"4.4.1">>,<<"4.4.2">>,<<"4.4.3">>],
|
|
||||||
otp => <<"24.1.5-3">>},
|
|
||||||
<<"4.4.5">> =>
|
|
||||||
#{from_versions =>
|
|
||||||
[<<"4.4.0">>,<<"4.4.1">>,<<"4.4.2">>,<<"4.4.3">>,<<"4.4.4">>],
|
|
||||||
otp => <<"24.1.5-3">>},
|
|
||||||
<<"4.4.6">> =>
|
|
||||||
#{from_versions =>
|
|
||||||
[<<"4.4.0">>,<<"4.4.1">>,<<"4.4.2">>,<<"4.4.3">>,<<"4.4.4">>,
|
|
||||||
<<"4.4.5">>],
|
|
||||||
otp => <<"24.1.5-3">>},
|
|
||||||
<<"4.4.7">> =>
|
|
||||||
#{from_versions =>
|
|
||||||
[<<"4.4.0">>,<<"4.4.1">>,<<"4.4.2">>,<<"4.4.3">>,<<"4.4.4">>,
|
|
||||||
<<"4.4.5">>,<<"4.4.6">>],
|
|
||||||
otp => <<"24.1.5-3">>},
|
|
||||||
<<"4.4.8">> =>
|
|
||||||
#{from_versions =>
|
|
||||||
[<<"4.4.0">>,<<"4.4.1">>,<<"4.4.2">>,<<"4.4.3">>,<<"4.4.4">>,
|
|
||||||
<<"4.4.5">>,<<"4.4.6">>,<<"4.4.7">>],
|
|
||||||
otp => <<"24.1.5-3">>},
|
|
||||||
<<"4.5.0">> => #{from_versions => [<<"4.4.8">>],otp => <<"24.3.4.2-1">>}}.
|
|
|
@ -64,7 +64,7 @@ mkdir -p _upgrade_base
|
||||||
pushd _upgrade_base
|
pushd _upgrade_base
|
||||||
|
|
||||||
otp_vsn_for() {
|
otp_vsn_for() {
|
||||||
../scripts/relup-base-vsns.escript otp-vsn-for "${1#[e|v]}" ../data/relup_bases.eterm
|
../scripts/relup-base-vsns.escript otp-vsn-for "${1#[e|v]}" ../data/relup-paths.eterm
|
||||||
}
|
}
|
||||||
|
|
||||||
for tag in $(../scripts/relup-base-vsns.sh $EDITION | xargs echo -n); do
|
for tag in $(../scripts/relup-base-vsns.sh $EDITION | xargs echo -n); do
|
||||||
|
|
|
@ -53,7 +53,7 @@ Usage:
|
||||||
".
|
".
|
||||||
|
|
||||||
main(["base-vsns", To0, VsnDB]) ->
|
main(["base-vsns", To0, VsnDB]) ->
|
||||||
{ok, [VsnMap]} = file:consult(VsnDB),
|
VsnMap = read_db(VsnDB),
|
||||||
To = strip_pre_release(To0),
|
To = strip_pre_release(To0),
|
||||||
#{from_versions := Froms} = fetch_version(To, VsnMap),
|
#{from_versions := Froms} = fetch_version(To, VsnMap),
|
||||||
AvailableVersionsIndex = available_versions_index(),
|
AvailableVersionsIndex = available_versions_index(),
|
||||||
|
@ -64,13 +64,13 @@ main(["base-vsns", To0, VsnDB]) ->
|
||||||
filter_froms(Froms, AvailableVersionsIndex)),
|
filter_froms(Froms, AvailableVersionsIndex)),
|
||||||
halt(0);
|
halt(0);
|
||||||
main(["otp-vsn-for", Vsn0, VsnDB]) ->
|
main(["otp-vsn-for", Vsn0, VsnDB]) ->
|
||||||
{ok, [VsnMap]} = file:consult(VsnDB),
|
VsnMap = read_db(VsnDB),
|
||||||
Vsn = strip_pre_release(Vsn0),
|
Vsn = strip_pre_release(Vsn0),
|
||||||
#{otp := OtpVsn} = fetch_version(Vsn, VsnMap),
|
#{otp := OtpVsn} = fetch_version(Vsn, VsnMap),
|
||||||
io:format(user, "~s~n", [OtpVsn]),
|
io:format(user, "~s~n", [OtpVsn]),
|
||||||
halt(0);
|
halt(0);
|
||||||
main(["insert-new-vsn", NewVsn0, BaseFromVsn0, OtpVsn0, VsnDB]) ->
|
main(["insert-new-vsn", NewVsn0, BaseFromVsn0, OtpVsn0, VsnDB]) ->
|
||||||
{ok, [VsnMap]} = file:consult(VsnDB),
|
VsnMap = read_db(VsnDB),
|
||||||
NewVsn = strip_pre_release(NewVsn0),
|
NewVsn = strip_pre_release(NewVsn0),
|
||||||
validate_version(NewVsn),
|
validate_version(NewVsn),
|
||||||
BaseFromVsn = strip_pre_release(BaseFromVsn0),
|
BaseFromVsn = strip_pre_release(BaseFromVsn0),
|
||||||
|
@ -87,10 +87,15 @@ main(["insert-new-vsn", NewVsn0, BaseFromVsn0, OtpVsn0, VsnDB]) ->
|
||||||
halt(1)
|
halt(1)
|
||||||
end,
|
end,
|
||||||
NewVsnMap = insert_new_vsn(VsnMap, NewVsn, OtpVsn, BaseFromVsn),
|
NewVsnMap = insert_new_vsn(VsnMap, NewVsn, OtpVsn, BaseFromVsn),
|
||||||
file:write_file(VsnDB, io_lib:format("%% -*- mode: erlang; -*-\n\n~p.~n", [NewVsnMap])),
|
NewVsnList =
|
||||||
|
lists:sort(
|
||||||
|
fun({Vsn1, _}, {Vsn2, _}) ->
|
||||||
|
Vsn1 < Vsn2
|
||||||
|
end, maps:to_list(NewVsnMap)),
|
||||||
|
file:write_file(VsnDB, io_lib:format("%% -*- mode: erlang; -*-\n\n~p.~n", [NewVsnList])),
|
||||||
halt(0);
|
halt(0);
|
||||||
main(["check-vsn-db", NewVsn0, VsnDB]) ->
|
main(["check-vsn-db", NewVsn0, VsnDB]) ->
|
||||||
{ok, [VsnMap]} = file:consult(VsnDB),
|
VsnMap = read_db(VsnDB),
|
||||||
NewVsn = strip_pre_release(NewVsn0),
|
NewVsn = strip_pre_release(NewVsn0),
|
||||||
case check_all_vsns_schema(VsnMap) of
|
case check_all_vsns_schema(VsnMap) of
|
||||||
[] -> ok;
|
[] -> ok;
|
||||||
|
@ -262,6 +267,10 @@ available_versions_index() ->
|
||||||
%% still build with 23. Switch to that once we drop OTP 23.
|
%% still build with 23. Switch to that once we drop OTP 23.
|
||||||
maps:from_list([{Vsn, true} || Vsn <- AllVersions]).
|
maps:from_list([{Vsn, true} || Vsn <- AllVersions]).
|
||||||
|
|
||||||
|
read_db(VsnDB) ->
|
||||||
|
{ok, [VsnList]} = file:consult(VsnDB),
|
||||||
|
maps:from_list(VsnList).
|
||||||
|
|
||||||
print_warning(Msg) ->
|
print_warning(Msg) ->
|
||||||
print_warning(Msg, []).
|
print_warning(Msg, []).
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@ TAGS_EXCLUDE=( 'dummy' )
|
||||||
while read -r vsn; do
|
while read -r vsn; do
|
||||||
# shellcheck disable=SC2207
|
# shellcheck disable=SC2207
|
||||||
TAGS+=($(git tag -l "${GIT_TAG_PREFIX}${vsn}"))
|
TAGS+=($(git tag -l "${GIT_TAG_PREFIX}${vsn}"))
|
||||||
done < <(./scripts/relup-base-vsns.escript base-vsns "$CUR" ./data/relup_bases.eterm)
|
done < <(./scripts/relup-base-vsns.escript base-vsns "$CUR" ./data/relup-paths.eterm)
|
||||||
|
|
||||||
for tag_to_del in "${TAGS_EXCLUDE[@]}"; do
|
for tag_to_del in "${TAGS_EXCLUDE[@]}"; do
|
||||||
TAGS=( "${TAGS[@]/$tag_to_del}" )
|
TAGS=( "${TAGS[@]/$tag_to_del}" )
|
||||||
|
|
Loading…
Reference in New Issue