ci(wokwi): Self host Wokwi CLI server (#9701)

* ci(wokwi): Self host Wokwi CLI server

* ci(event_file): Fix file upload

* change(tests): Re-run once on test failure
This commit is contained in:
Lucas Saavedra Vaz 2024-05-27 15:35:57 -03:00 committed by GitHub
parent 3925d51839
commit d45f35a2c8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 19 additions and 12 deletions

View file

@ -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
}

View file

@ -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}}

View file

@ -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