ci: temporarily revert mix release back to old version
This is so we may merge the huge PR as is and work on the fixes later with less conflicts.
This commit is contained in:
parent
bd0c8f0204
commit
8a68f5dada
6
Makefile
6
Makefile
|
@ -63,10 +63,8 @@ mix-deps-get: $(ELIXIR_COMMON_DEPS)
|
||||||
@mix deps.get
|
@mix deps.get
|
||||||
|
|
||||||
.PHONY: eunit
|
.PHONY: eunit
|
||||||
eunit: $(REBAR) ${ELIXIR_COMMON_DEPS} merge-config
|
eunit: $(REBAR) merge-config
|
||||||
# @$(REBAR) eunit --name eunit@127.0.0.1 -c -v --cover_export_name $(CT_COVER_EXPORT_PREFIX)-eunit
|
@$(REBAR) eunit --name eunit@127.0.0.1 -c -v --cover_export_name $(CT_COVER_EXPORT_PREFIX)-eunit
|
||||||
# TODO: cover compile
|
|
||||||
mix eunit
|
|
||||||
|
|
||||||
.PHONY: proper
|
.PHONY: proper
|
||||||
proper: $(REBAR)
|
proper: $(REBAR)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
defmodule Mix.Tasks.Emqx.Eunit do
|
defmodule Mix.Tasks.Emqx.Eunit do
|
||||||
use Mix.Task
|
use Mix.Task
|
||||||
|
|
||||||
Code.require_file("emqx.ct.ex", __DIR__)
|
# Code.require_file("emqx.ct.ex", __DIR__)
|
||||||
|
|
||||||
alias Mix.Tasks.Emqx.Ct, as: ECt
|
alias Mix.Tasks.Emqx.Ct, as: ECt
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
defmodule Mix.Tasks.Emqx.Proper do
|
defmodule Mix.Tasks.Emqx.Proper do
|
||||||
use Mix.Task
|
use Mix.Task
|
||||||
|
|
||||||
Code.require_file("emqx.ct.ex", __DIR__)
|
# Code.require_file("emqx.ct.ex", __DIR__)
|
||||||
|
|
||||||
alias Mix.Tasks.Emqx.Ct, as: ECt
|
alias Mix.Tasks.Emqx.Ct, as: ECt
|
||||||
|
|
||||||
|
|
181
mix.exs
181
mix.exs
|
@ -34,9 +34,12 @@ defmodule EMQXUmbrella.MixProject do
|
||||||
version = pkg_vsn()
|
version = pkg_vsn()
|
||||||
|
|
||||||
[
|
[
|
||||||
# app: :emqx_mix,
|
# TODO: these lines will be uncommented when we switch to using mix as the manager
|
||||||
apps_path: "apps",
|
# for all umbrella apps.
|
||||||
apps: applications(profile_info.release_type, profile_info.edition_type) |> Keyword.keys(),
|
# apps_path: "apps",
|
||||||
|
# apps: applications(profile_info.release_type, profile_info.edition_type) |> Keyword.keys(),
|
||||||
|
|
||||||
|
app: :emqx_mix,
|
||||||
erlc_options: erlc_options(profile_info, version),
|
erlc_options: erlc_options(profile_info, version),
|
||||||
version: version,
|
version: version,
|
||||||
deps: deps(profile_info, version),
|
deps: deps(profile_info, version),
|
||||||
|
@ -48,6 +51,10 @@ defmodule EMQXUmbrella.MixProject do
|
||||||
defp deps(profile_info, version) do
|
defp deps(profile_info, version) do
|
||||||
# we need several overrides here because dependencies specify
|
# we need several overrides here because dependencies specify
|
||||||
# other exact versions, and not ranges.
|
# other exact versions, and not ranges.
|
||||||
|
|
||||||
|
## TODO: this should be removed once we migrate the release build to mix
|
||||||
|
rebar3_umbrella_apps = emqx_apps(profile_info, version) ++ enterprise_deps(profile_info)
|
||||||
|
|
||||||
common_deps() ++
|
common_deps() ++
|
||||||
[
|
[
|
||||||
{:lc, github: "emqx/lc", tag: "0.3.2", override: true},
|
{:lc, github: "emqx/lc", tag: "0.3.2", override: true},
|
||||||
|
@ -118,9 +125,175 @@ defmodule EMQXUmbrella.MixProject do
|
||||||
{:quickrand, github: "okeuday/quickrand", tag: "v2.0.6", override: true},
|
{:quickrand, github: "okeuday/quickrand", tag: "v2.0.6", override: true},
|
||||||
{:ra, "2.7.3", override: true},
|
{:ra, "2.7.3", override: true},
|
||||||
{:mimerl, "1.2.0", override: true}
|
{:mimerl, "1.2.0", override: true}
|
||||||
] ++ jq_dep() ++ quicer_dep()
|
] ++
|
||||||
|
jq_dep() ++
|
||||||
|
quicer_dep() ++ rebar3_umbrella_apps
|
||||||
end
|
end
|
||||||
|
|
||||||
|
###############################################################################################
|
||||||
|
# BEGIN DEPRECATED FOR MIX BLOCK
|
||||||
|
# These should be removed once we fully migrate to mix
|
||||||
|
###############################################################################################
|
||||||
|
|
||||||
|
defp emqx_apps(profile_info, version) do
|
||||||
|
apps = umbrella_apps(profile_info) ++ enterprise_apps(profile_info)
|
||||||
|
set_emqx_app_system_env(apps, profile_info, version)
|
||||||
|
end
|
||||||
|
|
||||||
|
defp umbrella_apps(profile_info = %{release_type: release_type}) do
|
||||||
|
enterprise_apps = enterprise_umbrella_apps(release_type)
|
||||||
|
excluded_apps = excluded_apps(release_type)
|
||||||
|
|
||||||
|
"apps/*"
|
||||||
|
|> Path.wildcard()
|
||||||
|
|> Enum.map(fn path ->
|
||||||
|
app =
|
||||||
|
path
|
||||||
|
|> Path.basename()
|
||||||
|
|> String.to_atom()
|
||||||
|
|
||||||
|
{app, path: path, manager: :rebar3, override: true}
|
||||||
|
end)
|
||||||
|
|> Enum.reject(fn dep_spec ->
|
||||||
|
dep_spec
|
||||||
|
|> elem(0)
|
||||||
|
|> then(&MapSet.member?(enterprise_apps, &1))
|
||||||
|
end)
|
||||||
|
|> Enum.reject(fn {app, _} ->
|
||||||
|
case profile_info do
|
||||||
|
%{edition_type: :enterprise} ->
|
||||||
|
app == :emqx_telemetry
|
||||||
|
|
||||||
|
_ ->
|
||||||
|
false
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|> Enum.reject(fn {app, _} -> app in excluded_apps end)
|
||||||
|
end
|
||||||
|
|
||||||
|
defp enterprise_apps(_profile_info = %{release_type: release_type, edition_type: :enterprise}) do
|
||||||
|
Enum.map(enterprise_umbrella_apps(release_type), fn app_name ->
|
||||||
|
path = "apps/#{app_name}"
|
||||||
|
{app_name, path: path, manager: :rebar3, override: true}
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
defp enterprise_apps(_profile_info) do
|
||||||
|
[]
|
||||||
|
end
|
||||||
|
|
||||||
|
# need to remove those when listing `/apps/`...
|
||||||
|
defp enterprise_umbrella_apps(_release_type) do
|
||||||
|
MapSet.new([
|
||||||
|
:emqx_connector_aggregator,
|
||||||
|
:emqx_bridge_kafka,
|
||||||
|
:emqx_bridge_confluent,
|
||||||
|
:emqx_bridge_gcp_pubsub,
|
||||||
|
:emqx_bridge_cassandra,
|
||||||
|
:emqx_bridge_opents,
|
||||||
|
:emqx_bridge_dynamo,
|
||||||
|
:emqx_bridge_greptimedb,
|
||||||
|
:emqx_bridge_hstreamdb,
|
||||||
|
:emqx_bridge_influxdb,
|
||||||
|
:emqx_bridge_iotdb,
|
||||||
|
:emqx_bridge_es,
|
||||||
|
:emqx_bridge_matrix,
|
||||||
|
:emqx_bridge_mongodb,
|
||||||
|
:emqx_bridge_mysql,
|
||||||
|
:emqx_bridge_pgsql,
|
||||||
|
:emqx_bridge_redis,
|
||||||
|
:emqx_bridge_rocketmq,
|
||||||
|
:emqx_bridge_tdengine,
|
||||||
|
:emqx_bridge_timescale,
|
||||||
|
:emqx_bridge_sqlserver,
|
||||||
|
:emqx_bridge_pulsar,
|
||||||
|
:emqx_oracle,
|
||||||
|
:emqx_bridge_oracle,
|
||||||
|
:emqx_bridge_rabbitmq,
|
||||||
|
:emqx_bridge_clickhouse,
|
||||||
|
:emqx_ft,
|
||||||
|
:emqx_license,
|
||||||
|
:emqx_s3,
|
||||||
|
:emqx_bridge_s3,
|
||||||
|
:emqx_bridge_azure_blob_storage,
|
||||||
|
:emqx_schema_registry,
|
||||||
|
:emqx_schema_validation,
|
||||||
|
:emqx_message_transformation,
|
||||||
|
:emqx_enterprise,
|
||||||
|
:emqx_bridge_kinesis,
|
||||||
|
:emqx_bridge_azure_event_hub,
|
||||||
|
:emqx_gcp_device,
|
||||||
|
:emqx_dashboard_rbac,
|
||||||
|
:emqx_dashboard_sso,
|
||||||
|
:emqx_audit,
|
||||||
|
:emqx_gateway_gbt32960,
|
||||||
|
:emqx_gateway_ocpp,
|
||||||
|
:emqx_gateway_jt808,
|
||||||
|
:emqx_bridge_syskeeper,
|
||||||
|
:emqx_ds_shared_sub,
|
||||||
|
:emqx_auth_ext,
|
||||||
|
:emqx_cluster_link,
|
||||||
|
:emqx_ds_builtin_raft
|
||||||
|
])
|
||||||
|
end
|
||||||
|
|
||||||
|
defp enterprise_deps(_profile_info = %{edition_type: :enterprise}) do
|
||||||
|
[
|
||||||
|
{:hstreamdb_erl,
|
||||||
|
github: "hstreamdb/hstreamdb_erl", tag: "0.5.18+v0.18.1+ezstd-v1.0.5-emqx1"},
|
||||||
|
{:influxdb, github: "emqx/influxdb-client-erl", tag: "1.1.13", override: true},
|
||||||
|
{:wolff, github: "kafka4beam/wolff", tag: "2.0.0"},
|
||||||
|
{:kafka_protocol, github: "kafka4beam/kafka_protocol", tag: "4.1.5", override: true},
|
||||||
|
{:brod_gssapi, github: "kafka4beam/brod_gssapi", tag: "v0.1.1"},
|
||||||
|
{:brod, github: "kafka4beam/brod", tag: "3.18.0"},
|
||||||
|
{:snappyer, "1.2.9", override: true},
|
||||||
|
{:crc32cer, "0.1.8", override: true},
|
||||||
|
{:opentsdb, github: "emqx/opentsdb-client-erl", tag: "v0.5.1", override: true},
|
||||||
|
{:greptimedb,
|
||||||
|
github: "GreptimeTeam/greptimedb-ingester-erl", tag: "v0.1.8", override: true},
|
||||||
|
# The following two are dependencies of rabbit_common. They are needed here to
|
||||||
|
# make mix not complain about conflicting versions
|
||||||
|
{:thoas, github: "emqx/thoas", tag: "v1.0.0", override: true},
|
||||||
|
{:credentials_obfuscation,
|
||||||
|
github: "emqx/credentials-obfuscation", tag: "v3.2.0", override: true},
|
||||||
|
{:rabbit_common,
|
||||||
|
github: "emqx/rabbitmq-server",
|
||||||
|
tag: "v3.11.13.2",
|
||||||
|
sparse: "deps/rabbit_common",
|
||||||
|
override: true},
|
||||||
|
{:amqp_client,
|
||||||
|
github: "emqx/rabbitmq-server",
|
||||||
|
tag: "v3.11.13.2",
|
||||||
|
sparse: "deps/amqp_client",
|
||||||
|
override: true}
|
||||||
|
]
|
||||||
|
end
|
||||||
|
|
||||||
|
defp enterprise_deps(_profile_info) do
|
||||||
|
[]
|
||||||
|
end
|
||||||
|
|
||||||
|
defp set_emqx_app_system_env(apps, profile_info, version) do
|
||||||
|
system_env = emqx_app_system_env(profile_info, version) ++ maybe_no_quic_env()
|
||||||
|
|
||||||
|
Enum.map(
|
||||||
|
apps,
|
||||||
|
fn {app, opts} ->
|
||||||
|
{app,
|
||||||
|
Keyword.update(
|
||||||
|
opts,
|
||||||
|
:system_env,
|
||||||
|
system_env,
|
||||||
|
&Keyword.merge(&1, system_env)
|
||||||
|
)}
|
||||||
|
end
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
###############################################################################################
|
||||||
|
# END DEPRECATED FOR MIX BLOCK
|
||||||
|
###############################################################################################
|
||||||
|
|
||||||
def emqx_app_system_env(profile_info, version) do
|
def emqx_app_system_env(profile_info, version) do
|
||||||
erlc_options(profile_info, version)
|
erlc_options(profile_info, version)
|
||||||
|> dump_as_erl()
|
|> dump_as_erl()
|
||||||
|
|
Loading…
Reference in New Issue