refactor: store db as list and rename file to `relup-paths.eterm`

This commit is contained in:
Thales Macedo Garitezi 2022-08-23 10:48:10 -03:00
parent e7d42dce49
commit c52286a20a
7 changed files with 50 additions and 41 deletions

View File

@ -24,7 +24,7 @@ jobs:
- name: Check relup version DB
run: |
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)
if: endsWith(github.repository, 'emqx')
run: ./scripts/update-appup.sh emqx --check

2
build
View File

@ -67,7 +67,7 @@ make_rel() {
}
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

32
data/relup-paths.eterm Normal file
View File

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

View File

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

View File

@ -64,7 +64,7 @@ mkdir -p _upgrade_base
pushd _upgrade_base
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

View File

@ -53,7 +53,7 @@ Usage:
".
main(["base-vsns", To0, VsnDB]) ->
{ok, [VsnMap]} = file:consult(VsnDB),
VsnMap = read_db(VsnDB),
To = strip_pre_release(To0),
#{from_versions := Froms} = fetch_version(To, VsnMap),
AvailableVersionsIndex = available_versions_index(),
@ -64,13 +64,13 @@ main(["base-vsns", To0, VsnDB]) ->
filter_froms(Froms, AvailableVersionsIndex)),
halt(0);
main(["otp-vsn-for", Vsn0, VsnDB]) ->
{ok, [VsnMap]} = file:consult(VsnDB),
VsnMap = read_db(VsnDB),
Vsn = strip_pre_release(Vsn0),
#{otp := OtpVsn} = fetch_version(Vsn, VsnMap),
io:format(user, "~s~n", [OtpVsn]),
halt(0);
main(["insert-new-vsn", NewVsn0, BaseFromVsn0, OtpVsn0, VsnDB]) ->
{ok, [VsnMap]} = file:consult(VsnDB),
VsnMap = read_db(VsnDB),
NewVsn = strip_pre_release(NewVsn0),
validate_version(NewVsn),
BaseFromVsn = strip_pre_release(BaseFromVsn0),
@ -87,10 +87,15 @@ main(["insert-new-vsn", NewVsn0, BaseFromVsn0, OtpVsn0, VsnDB]) ->
halt(1)
end,
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);
main(["check-vsn-db", NewVsn0, VsnDB]) ->
{ok, [VsnMap]} = file:consult(VsnDB),
VsnMap = read_db(VsnDB),
NewVsn = strip_pre_release(NewVsn0),
case check_all_vsns_schema(VsnMap) of
[] -> ok;
@ -262,6 +267,10 @@ available_versions_index() ->
%% still build with 23. Switch to that once we drop OTP 23.
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, []).

View File

@ -57,7 +57,7 @@ TAGS_EXCLUDE=( 'dummy' )
while read -r vsn; do
# shellcheck disable=SC2207
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
TAGS=( "${TAGS[@]/$tag_to_del}" )