diff --git a/.github/scripts/tests_run.sh b/.github/scripts/tests_run.sh index 62fdcfd5af1..4e8ad4bb3b1 100755 --- a/.github/scripts/tests_run.sh +++ b/.github/scripts/tests_run.sh @@ -7,6 +7,7 @@ function run_test() { local erase_flash=$4 local sketchdir=$(dirname $sketch) local sketchname=$(basename $sketchdir) + local result=0 if [[ -f "$sketchdir/.skip.$platform" ]] || [[ -f "$sketchdir/.skip.$target" ]] || [[ -f "$sketchdir/.skip.$platform.$target" ]]; then echo "Skipping $sketchname test for $target, platform: $platform" @@ -61,11 +62,18 @@ function run_test() { extra_args="--embedded-services esp,arduino" fi + result=0 echo "pytest tests --build-dir $build_dir -k test_$sketchname --junit-xml=$report_file $extra_args" - bash -c "pytest tests --build-dir $build_dir -k test_$sketchname --junit-xml=$report_file $extra_args" + bash -c "set +e; pytest tests --build-dir $build_dir -k test_$sketchname --junit-xml=$report_file $extra_args; exit \$?" || result=$? result=$? if [ $result -ne 0 ]; then - return $result + result=0 + echo "Retrying test: $sketchname -- Config: $i" + bash -c "set +e; pytest tests --build-dir $build_dir -k test_$sketchname --junit-xml=$report_file $extra_args; exit \$?" || result=$? + result=$? + if [ $result -ne 0 ]; then + exit $result + fi fi done } diff --git a/.github/workflows/hil.yml b/.github/workflows/hil.yml index 9d864b2c67e..29b71921c55 100644 --- a/.github/workflows/hil.yml +++ b/.github/workflows/hil.yml @@ -59,6 +59,12 @@ jobs: echo "test_folder=${test_folder}" >> $GITHUB_OUTPUT echo "test_type=${test_type}" >> $GITHUB_OUTPUT + - name: Upload Event file + uses: actions/upload-artifact@v4 + with: + name: event_file + path: ${{github.event_path}} + build: needs: gen_chunks name: ${{matrix.chip}}-Build#${{matrix.chunks}} @@ -267,13 +273,3 @@ jobs: path: | tests/**/*.xml tests/**/result_*.json - - event_file: - name: "Event File" - runs-on: ubuntu-latest - steps: - - name: Upload - uses: actions/upload-artifact@v4 - with: - name: event_file - path: ${{github.event_path}} diff --git a/.github/workflows/wokwi.yml b/.github/workflows/wokwi.yml index 1f55235dd39..4678da7c0ba 100644 --- a/.github/workflows/wokwi.yml +++ b/.github/workflows/wokwi.yml @@ -95,6 +95,9 @@ jobs: - name: Install Wokwi CLI run: curl -L https://wokwi.com/ci/install.sh | sh + - name: Wokwi CI Server + uses: wokwi/wokwi-ci-server-action@v1 + - name: Install dependencies run: | pip install -U pip