diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 916a5c1a4..ebd2148a4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -107,6 +107,10 @@ jobs: ~/.cache/rebar3/ key: ${{matrix.otp}}-${{hashFiles('rebar.config')}} + - name: Get compatible Rebar binaries + if: matrix.otp < 21 + run: ./rebar3 unlock eredis + - name: Download test logs if: matrix.otp == '26' && github.repository == 'processone/ejabberd' continue-on-error: true diff --git a/.github/workflows/runtime.yml b/.github/workflows/runtime.yml index 313706a12..7e0b63518 100644 --- a/.github/workflows/runtime.yml +++ b/.github/workflows/runtime.yml @@ -68,6 +68,10 @@ jobs: ~/.cache/rebar3/ key: ${{matrix.otp}}-${{hashFiles('rebar.config')}} + - name: Get compatible Rebar binaries + if: matrix.rebar == 'rebar3' && matrix.otp < 21 + run: rebar3 unlock eredis + - name: Compile run: | ./autogen.sh diff --git a/mix.exs b/mix.exs index 256ae12d8..516aa9e49 100644 --- a/mix.exs +++ b/mix.exs @@ -166,7 +166,7 @@ defmodule Ejabberd.MixProject do {:ejabberd_po, git: "https://github.com/processone/ejabberd-po.git"}}, {Mix.env() == :dev, {:exsync, "~> 0.2", optional: true, runtime: false}}, - {config(:redis), {:eredis, "~> 1.2.0"}}, + {config(:redis), {:eredis, "~> 1.7.1"}}, {config(:sip), {:esip, "~> 1.0"}}, {config(:zlib), {:ezlib, "~> 1.0"}}, {if_version_above(~c"23", true), {:jose, "~> 1.11.10"}}, diff --git a/mix.lock b/mix.lock index c1073d027..e59fa341a 100644 --- a/mix.lock +++ b/mix.lock @@ -5,7 +5,7 @@ "earmark_parser": {:hex, :earmark_parser, "1.4.41", "ab34711c9dc6212dda44fcd20ecb87ac3f3fce6f0ca2f28d4a00e4154f8cd599", [:mix], [], "hexpm", "a81a04c7e34b6617c2792e291b5a2e57ab316365c2644ddc553bb9ed863ebefa"}, "eimp": {:hex, :eimp, "1.0.23", "aaf32efab061143403dadbaa63e699ef8e81702fbfa96fd436d5e9be4d6a8d3a", [:rebar3], [{:p1_utils, "1.0.26", [hex: :p1_utils, repo: "hexpm", optional: false]}], "hexpm", "907c780023cb2893e4fc4bdbe6a4f02c355913862ac67f0ecc26605e816b628a"}, "epam": {:hex, :epam, "1.0.14", "aa0b85d27f4ef3a756ae995179df952a0721237e83c6b79d644347b75016681a", [:rebar3], [], "hexpm", "2f3449e72885a72a6c2a843f561add0fc2f70d7a21f61456930a547473d4d989"}, - "eredis": {:hex, :eredis, "1.2.0", "0b8e9cfc2c00fa1374cd107ea63b49be08d933df2cf175e6a89b73dd9c380de4", [:rebar3], [], "hexpm", "d9b5abef2c2c8aba8f32aa018203e0b3dc8b1157773b254ab1d4c2002317f1e1"}, + "eredis": {:hex, :eredis, "1.7.1", "39e31aa02adcd651c657f39aafd4d31a9b2f63c6c700dc9cece98d4bc3c897ab", [:mix, :rebar3], [], "hexpm", "7c2b54c566fed55feef3341ca79b0100a6348fd3f162184b7ed5118d258c3cc1"}, "erlex": {:hex, :erlex, "0.2.7", "810e8725f96ab74d17aac676e748627a07bc87eb950d2b83acd29dc047a30595", [:mix], [], "hexpm", "3ed95f79d1a844c3f6bf0cea61e0d5612a42ce56da9c03f01df538685365efb0"}, "esip": {:hex, :esip, "1.0.56", "63c0fdc667be751714e1e5c14621a9334f21b60ac1bb68be889454ca9ca021b7", [:rebar3], [{:fast_tls, "1.1.22", [hex: :fast_tls, repo: "hexpm", optional: false]}, {:p1_utils, "1.0.26", [hex: :p1_utils, repo: "hexpm", optional: false]}, {:stun, "1.2.15", [hex: :stun, repo: "hexpm", optional: false]}], "hexpm", "9ef3660cef93b623f7368dcd5c79f4e704358631909e6dd464e335378815da1f"}, "ex_doc": {:hex, :ex_doc, "0.35.1", "de804c590d3df2d9d5b8aec77d758b00c814b356119b3d4455e4b8a8687aecaf", [:mix], [{:earmark_parser, "~> 1.4.39", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "2121c6402c8d44b05622677b761371a759143b958c6c19f6558ff64d0aed40df"}, diff --git a/rebar.config b/rebar.config index 68d9af275..75615f529 100644 --- a/rebar.config +++ b/rebar.config @@ -31,7 +31,15 @@ {if_var_true, pam, {epam, "~> 1.0.14", {git, "https://github.com/processone/epam", {tag, "1.0.14"}}}}, {if_var_true, redis, - {eredis, "~> 1.2.0", {git, "https://github.com/wooga/eredis", {tag, "v1.2.0"}}}}, + {if_not_rebar3, + {eredis, "~> 1.2.0", {git, "https://github.com/wooga/eredis/", {tag, "v1.2.0"}}} + }}, + {if_var_true, redis, + {if_rebar3, + {if_version_below, "21", + {eredis, "1.2.0", {git, "https://github.com/wooga/eredis/", {tag, "v1.2.0"}}}, + {eredis, "~> 1.7.1", {git, "https://github.com/Nordix/eredis/", {tag, "v1.7.1"}}} + }}}, {if_var_true, sip, {esip, "~> 1.0.52", {git, "https://github.com/processone/esip", {tag, "1.0.56"}}}}, {if_var_true, zlib, diff --git a/rebar.lock b/rebar.lock index 68d5f7061..926234015 100644 --- a/rebar.lock +++ b/rebar.lock @@ -3,7 +3,7 @@ {<<"cache_tab">>,{pkg,<<"cache_tab">>,<<"1.0.31">>},0}, {<<"eimp">>,{pkg,<<"eimp">>,<<"1.0.23">>},0}, {<<"epam">>,{pkg,<<"epam">>,<<"1.0.14">>},0}, - {<<"eredis">>,{pkg,<<"eredis">>,<<"1.2.0">>},0}, + {<<"eredis">>,{pkg,<<"eredis">>,<<"1.7.1">>},0}, {<<"esip">>,{pkg,<<"esip">>,<<"1.0.56">>},0}, {<<"ezlib">>,{pkg,<<"ezlib">>,<<"1.0.13">>},0}, {<<"fast_tls">>,{pkg,<<"fast_tls">>,<<"1.1.22">>},0}, @@ -35,7 +35,7 @@ {<<"cache_tab">>, <<"E4097B50A6F373AB1E0A5F01BAB0BEF6626771A4CD6C93404ED6D54810E11FBC">>}, {<<"eimp">>, <<"AAF32EFAB061143403DADBAA63E699EF8E81702FBFA96FD436D5E9BE4D6A8D3A">>}, {<<"epam">>, <<"AA0B85D27F4EF3A756AE995179DF952A0721237E83C6B79D644347B75016681A">>}, - {<<"eredis">>, <<"0B8E9CFC2C00FA1374CD107EA63B49BE08D933DF2CF175E6A89B73DD9C380DE4">>}, + {<<"eredis">>, <<"39E31AA02ADCD651C657F39AAFD4D31A9B2F63C6C700DC9CECE98D4BC3C897AB">>}, {<<"esip">>, <<"63C0FDC667BE751714E1E5C14621A9334F21B60AC1BB68BE889454CA9CA021B7">>}, {<<"ezlib">>, <<"3C7F62862850A241159C10B218ECF580BCE54D0890601B65144DACC2633BE2B0">>}, {<<"fast_tls">>, <<"44356B256AFAD4399C2FC5059A3066669DAFD8BD4E4E796C9C1CF8910DDD265E">>}, @@ -62,7 +62,7 @@ {<<"cache_tab">>, <<"8582B60A4A09B247EF86355BA9E07FCE9E11EDC0345A775C9171F971C72B6351">>}, {<<"eimp">>, <<"907C780023CB2893E4FC4BDBE6A4F02C355913862AC67F0ECC26605E816B628A">>}, {<<"epam">>, <<"2F3449E72885A72A6C2A843F561ADD0FC2F70D7A21F61456930A547473D4D989">>}, - {<<"eredis">>, <<"D9B5ABEF2C2C8ABA8F32AA018203E0B3DC8B1157773B254AB1D4C2002317F1E1">>}, + {<<"eredis">>, <<"7C2B54C566FED55FEEF3341CA79B0100A6348FD3F162184B7ED5118D258C3CC1">>}, {<<"esip">>, <<"9EF3660CEF93B623F7368DCD5C79F4E704358631909E6DD464E335378815DA1F">>}, {<<"ezlib">>, <<"9EE62AB3F8ED55A0FD11A9569FCB8E458683F95575417272192B069F092ABFBB">>}, {<<"fast_tls">>, <<"E65779AEFB7AB15C4755230FEF8077E687D20CC5A3984A5974F9F657E8E2485B">>},