ci: should not skip tests in github actions

This commit is contained in:
Zaiming (Stone) Shi 2023-01-03 10:53:10 +01:00
parent fc12a8c4c8
commit 5f12cdff6c
4 changed files with 34 additions and 6 deletions

View File

@ -162,7 +162,7 @@ jobs:
INFLUXDB_TAG: 2.5.0
PROFILE: ${{ matrix.profile }}
CT_COVER_EXPORT_PREFIX: ${{ matrix.profile }}-${{ matrix.otp }}
run: ./scripts/ct/run.sh --app ${{ matrix.app }}
run: ./scripts/ct/run.sh --ci --app ${{ matrix.app }}
- uses: actions/upload-artifact@v3
with:
name: coverdata

View File

@ -50,7 +50,7 @@ init_per_suite(Config) ->
{ok, _} = application:ensure_all_started(emqx_connector),
Config;
false ->
{skip, no_redis}
assert_ci()
end.
end_per_suite(_Config) ->
@ -63,6 +63,13 @@ init_per_testcase(_, Config) ->
end_per_testcase(_, _Config) ->
ok.
assert_ci() ->
case os:getenv("IS_CI") of
"yes" ->
throw(no_redis);
_ ->
{skip, no_redis}
end.
% %%------------------------------------------------------------------------------
% %% Testcases
% %%------------------------------------------------------------------------------

View File

@ -96,6 +96,14 @@ init_per_suite(Config) ->
| Config
];
false ->
assert_ci()
end.
assert_ci() ->
case os:getenv("IS_CI") of
"yes" ->
throw(no_redis);
_ ->
{skip, no_redis}
end.

View File

@ -17,6 +17,9 @@ help() {
echo "--stop: Stop running containers for the given app"
echo "--only-up: Only start the testbed but do not run CT"
echo "--keep-up: Keep the testbed running after CT"
echo "--ci: Set this flag in GitHub action to enforce no tests are skipped"
echo "--" If any, all args after '--' are passed to rebar3 ct
echo " otherwise it runs the entire app's CT"
}
WHICH_APP='novalue'
@ -26,6 +29,7 @@ ONLY_UP='no'
SUITES=''
ATTACH='no'
STOP='no'
IS_CI='no'
while [ "$#" -gt 0 ]; do
case $1 in
-h|--help)
@ -56,9 +60,14 @@ while [ "$#" -gt 0 ]; do
CONSOLE='yes'
shift 1
;;
--suites)
SUITES="$2"
shift 2
--ci)
IS_CI='yes'
shift 1
;;
--)
shift 1
REBAR3CT="$*"
shift $#
;;
*)
echo "unknown option $1"
@ -202,7 +211,11 @@ elif [ "$CONSOLE" = 'yes' ]; then
docker exec -e PROFILE="$PROFILE" -i $TTY "$ERLANG_CONTAINER" bash -c "make run"
restore_ownership
else
docker exec -e PROFILE="$PROFILE" -i $TTY -e EMQX_CT_SUITES="$SUITES" "$ERLANG_CONTAINER" bash -c "BUILD_WITHOUT_QUIC=1 make ${WHICH_APP}-ct"
if [ -z "${REBAR3CT:-}" ]; then
docker exec -e IS_CI="$IS_CI" -e PROFILE="$PROFILE" -i $TTY "$ERLANG_CONTAINER" bash -c "BUILD_WITHOUT_QUIC=1 make ${WHICH_APP}-ct"
else
docker exec -e IS_CI="$IS_CI" -e PROFILE="$PROFILE" -i $TTY "$ERLANG_CONTAINER" bash -c "./rebar3 ct $REBAR3CT"
fi
RESULT=$?
restore_ownership
if [ $RESULT -ne 0 ]; then