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
|
||||
|
||||
.PHONY: eunit
|
||||
eunit: $(REBAR) ${ELIXIR_COMMON_DEPS} merge-config
|
||||
# @$(REBAR) eunit --name eunit@127.0.0.1 -c -v --cover_export_name $(CT_COVER_EXPORT_PREFIX)-eunit
|
||||
# TODO: cover compile
|
||||
mix eunit
|
||||
eunit: $(REBAR) merge-config
|
||||
@$(REBAR) eunit --name eunit@127.0.0.1 -c -v --cover_export_name $(CT_COVER_EXPORT_PREFIX)-eunit
|
||||
|
||||
.PHONY: proper
|
||||
proper: $(REBAR)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
defmodule Mix.Tasks.Emqx.Eunit do
|
||||
use Mix.Task
|
||||
|
||||
Code.require_file("emqx.ct.ex", __DIR__)
|
||||
# Code.require_file("emqx.ct.ex", __DIR__)
|
||||
|
||||
alias Mix.Tasks.Emqx.Ct, as: ECt
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
defmodule Mix.Tasks.Emqx.Proper do
|
||||
use Mix.Task
|
||||
|
||||
Code.require_file("emqx.ct.ex", __DIR__)
|
||||
# Code.require_file("emqx.ct.ex", __DIR__)
|
||||
|
||||
alias Mix.Tasks.Emqx.Ct, as: ECt
|
||||
|
||||
|
|
181
mix.exs
181
mix.exs
|
@ -34,9 +34,12 @@ defmodule EMQXUmbrella.MixProject do
|
|||
version = pkg_vsn()
|
||||
|
||||
[
|
||||
# app: :emqx_mix,
|
||||
apps_path: "apps",
|
||||
apps: applications(profile_info.release_type, profile_info.edition_type) |> Keyword.keys(),
|
||||
# TODO: these lines will be uncommented when we switch to using mix as the manager
|
||||
# for all umbrella apps.
|
||||
# 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),
|
||||
version: version,
|
||||
deps: deps(profile_info, version),
|
||||
|
@ -48,6 +51,10 @@ defmodule EMQXUmbrella.MixProject do
|
|||
defp deps(profile_info, version) do
|
||||
# we need several overrides here because dependencies specify
|
||||
# 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() ++
|
||||
[
|
||||
{: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},
|
||||
{:ra, "2.7.3", override: true},
|
||||
{:mimerl, "1.2.0", override: true}
|
||||
] ++ jq_dep() ++ quicer_dep()
|
||||
] ++
|
||||
jq_dep() ++
|
||||
quicer_dep() ++ rebar3_umbrella_apps
|
||||
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
|
||||
erlc_options(profile_info, version)
|
||||
|> dump_as_erl()
|
||||
|
|
Loading…
Reference in New Issue