diff --git a/.github/workflows/run_conf_tests.yaml b/.github/workflows/run_conf_tests.yaml index 9b3201772..93d9fee95 100644 --- a/.github/workflows/run_conf_tests.yaml +++ b/.github/workflows/run_conf_tests.yaml @@ -42,3 +42,12 @@ jobs: PROFILE: ${{ matrix.profile }} run: | ./scripts/conf-test/run.sh + - name: print_erlang_log + if: failure() + run: | + cat source/_build/${{ matrix.profile }}/rel/emqx/logs/erlang.log.* + - uses: actions/upload-artifact@v3 + if: failure() + with: + name: logs-${{ matrix.profile }} + path: source/_build/${{ matrix.profile }}/rel/emqx/logs diff --git a/scripts/conf-test/run.sh b/scripts/conf-test/run.sh index 52bdd5df5..1fa3b3951 100755 --- a/scripts/conf-test/run.sh +++ b/scripts/conf-test/run.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash +set -euo pipefail + PROFILE="${PROFILE:-emqx}" EMQX_ROOT="${EMQX_ROOT:-_build/$PROFILE/rel/emqx}" EMQX_WAIT_FOR_START="${EMQX_WAIT_FOR_START:-30}" @@ -7,8 +9,8 @@ export EMQX_WAIT_FOR_START start_emqx_with_conf() { echo "Starting $PROFILE with $1" - $EMQX_ROOT/bin/emqx start - $EMQX_ROOT/bin/emqx stop + "$EMQX_ROOT"/bin/emqx start + "$EMQX_ROOT"/bin/emqx stop } MINOR_VSN=$(./pkg-vsn.sh "$PROFILE" | cut -d. -f1,2) @@ -21,13 +23,13 @@ fi FILES=$(ls ./scripts/conf-test/old-confs/$EDITION-v"$MINOR_VSN"*) -cp $EMQX_ROOT/etc/emqx.conf $EMQX_ROOT/etc/emqx.conf.bak +cp "$EMQX_ROOT"/etc/emqx.conf "$EMQX_ROOT"/etc/emqx.conf.bak cleanup() { - cp $EMQX_ROOT/etc/emqx.conf.bak $EMQX_ROOT/etc/emqx.conf + cp "$EMQX_ROOT"/etc/emqx.conf.bak "$EMQX_ROOT"/etc/emqx.conf } trap cleanup EXIT for file in $FILES; do - cp $file $EMQX_ROOT/etc/emqx.conf - start_emqx_with_conf $file + cp "$file" "$EMQX_ROOT"/etc/emqx.conf + start_emqx_with_conf "$file" done