Merge pull request #13098 from zmstone/0523-more-ct-chunks-for-emqx-app

ci: run apps/emqx tests in 8 groups
This commit is contained in:
Zaiming (Stone) Shi 2024-05-23 14:04:03 +02:00 committed by GitHub
commit 147d7f5d11
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 16 additions and 12 deletions

View File

@ -355,13 +355,13 @@ init(_Opts) ->
ok = emqx_config_handler:add_handler([listeners, '?', '?', ?CONF_ROOT], Module), ok = emqx_config_handler:add_handler([listeners, '?', '?', ?CONF_ROOT], Module),
ok = hook_deny(), ok = hook_deny(),
{ok, #{hooked => false, providers => #{}, init_done => false}, {ok, #{hooked => false, providers => #{}, init_done => false},
{continue, {initialize_authentication, init}}}. {continue, initialize_authentication}}.
handle_call(get_providers, _From, #{providers := Providers} = State) -> handle_call(get_providers, _From, #{providers := Providers} = State) ->
reply(Providers, State); reply(Providers, State);
handle_call( handle_call(
{register_providers, Providers}, {register_providers, Providers},
From, _From,
#{providers := Reg0} = State #{providers := Reg0} = State
) -> ) ->
case lists:filter(fun({T, _}) -> maps:is_key(T, Reg0) end, Providers) of case lists:filter(fun({T, _}) -> maps:is_key(T, Reg0) end, Providers) of
@ -373,7 +373,7 @@ handle_call(
Reg0, Reg0,
Providers Providers
), ),
reply(ok, State#{providers := Reg}, {initialize_authentication, From}); reply(ok, State#{providers := Reg}, initialize_authentication);
Clashes -> Clashes ->
reply({error, {authentication_type_clash, Clashes}}, State) reply({error, {authentication_type_clash, Clashes}}, State)
end; end;
@ -449,10 +449,10 @@ handle_call(Req, _From, State) ->
?SLOG(error, #{msg => "unexpected_call", call => Req}), ?SLOG(error, #{msg => "unexpected_call", call => Req}),
{reply, ignored, State}. {reply, ignored, State}.
handle_continue({initialize_authentication, _From}, #{init_done := true} = State) -> handle_continue(initialize_authentication, #{init_done := true} = State) ->
{noreply, State}; {noreply, State};
handle_continue({initialize_authentication, From}, #{providers := Providers} = State) -> handle_continue(initialize_authentication, #{providers := Providers} = State) ->
InitDone = initialize_authentication(Providers, From), InitDone = initialize_authentication(Providers),
{noreply, maybe_hook(State#{init_done := InitDone})}. {noreply, maybe_hook(State#{init_done := InitDone})}.
handle_cast(Req, State) -> handle_cast(Req, State) ->
@ -486,12 +486,12 @@ code_change(_OldVsn, State, _Extra) ->
%% Private functions %% Private functions
%%------------------------------------------------------------------------------ %%------------------------------------------------------------------------------
initialize_authentication(Providers, From) -> initialize_authentication(Providers) ->
ProviderTypes = maps:keys(Providers), ProviderTypes = maps:keys(Providers),
Chains = chain_configs(), Chains = chain_configs(),
HasProviders = has_providers_for_configs(Chains, ProviderTypes), HasProviders = has_providers_for_configs(Chains, ProviderTypes),
Result = do_initialize_authentication(Providers, Chains, HasProviders), Result = do_initialize_authentication(Providers, Chains, HasProviders),
?tp(info, authn_chains_initialization_done, #{from => From, result => Result}), ?tp(info, authn_chains_initialization_done, #{providers => Providers}),
Result. Result.
do_initialize_authentication(_Providers, _Chains, _HasProviders = false) -> do_initialize_authentication(_Providers, _Chains, _HasProviders = false) ->

View File

@ -69,10 +69,12 @@ t_initialize(_Config) ->
emqx_access_control:authenticate(?CLIENTINFO) emqx_access_control:authenticate(?CLIENTINFO)
), ),
Self = self(),
?assertWaitEvent( ?assertWaitEvent(
ok = emqx_authn_test_lib:register_fake_providers([{password_based, built_in_database}]), ok = emqx_authn_test_lib:register_fake_providers([{password_based, built_in_database}]),
#{?snk_kind := authn_chains_initialization_done, from := {Self, _}}, #{
?snk_kind := authn_chains_initialization_done,
providers := #{{password_based, built_in_database} := emqx_authn_fake_provider}
},
100 100
), ),

2
dev
View File

@ -506,6 +506,8 @@ ctl() {
case rpc:call('$EMQX_NODE_NAME', emqx_ctl, run_command, [[$args]]) of case rpc:call('$EMQX_NODE_NAME', emqx_ctl, run_command, [[$args]]) of
ok -> ok ->
init:stop(0); init:stop(0);
true ->
init:stop(0);
Error -> Error ->
io:format(\"~p~n\", [Error]), io:format(\"~p~n\", [Error]),
init:stop(1) init:stop(1)

View File

@ -82,8 +82,8 @@ matrix() {
fi fi
case "${app}" in case "${app}" in
apps/emqx) apps/emqx)
entries+=("$(format_app_entry "$app" 5 emqx "$runner")") entries+=("$(format_app_entry "$app" 8 emqx "$runner")")
entries+=("$(format_app_entry "$app" 5 emqx-enterprise "$runner")") entries+=("$(format_app_entry "$app" 8 emqx-enterprise "$runner")")
;; ;;
apps/emqx_bridge) apps/emqx_bridge)
entries+=("$(format_app_entry "$app" 1 emqx "$runner")") entries+=("$(format_app_entry "$app" 1 emqx "$runner")")