NFC various fixes #3958
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 'Unit tests' | |
on: | |
pull_request: | |
env: | |
TARGETS: f7 | |
DEFAULT_TARGET: f7 | |
FBT_TOOLCHAIN_PATH: /opt | |
jobs: | |
run_units_on_bench: | |
runs-on: [self-hosted, FlipperZeroUnitTest] | |
steps: | |
- name: 'Wipe workspace' | |
run: find ./ -mount -maxdepth 1 -exec rm -rf {} \; | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: 'Get flipper from device manager (mock)' | |
id: device | |
run: | | |
echo "flipper=/dev/ttyACM0" >> $GITHUB_OUTPUT | |
- name: 'Flash unit tests firmware' | |
id: flashing | |
if: success() | |
timeout-minutes: 10 | |
run: | | |
./fbt flash SWD_TRANSPORT_SERIAL=2A0906016415303030303032 FIRMWARE_APP_SET=unit_tests FORCE=1 | |
- name: 'Wait for flipper and format ext' | |
id: format_ext | |
if: steps.flashing.outcome == 'success' | |
timeout-minutes: 5 | |
run: | | |
source scripts/toolchain/fbtenv.sh | |
python3 scripts/testing/await_flipper.py ${{steps.device.outputs.flipper}} | |
python3 scripts/storage.py -p ${{steps.device.outputs.flipper}} format_ext | |
- name: 'Copy assets and unit data, reboot and wait for flipper' | |
id: copy | |
if: steps.format_ext.outcome == 'success' | |
timeout-minutes: 7 | |
run: | | |
source scripts/toolchain/fbtenv.sh | |
python3 scripts/testing/await_flipper.py ${{steps.device.outputs.flipper}} | |
python3 scripts/storage.py -p ${{steps.device.outputs.flipper}} -f send assets/resources /ext | |
python3 scripts/storage.py -p ${{steps.device.outputs.flipper}} -f send assets/unit_tests /ext/unit_tests | |
python3 scripts/power.py -p ${{steps.device.outputs.flipper}} reboot | |
python3 scripts/testing/await_flipper.py ${{steps.device.outputs.flipper}} | |
- name: 'Run units and validate results' | |
id: run_units | |
if: steps.copy.outcome == 'success' | |
timeout-minutes: 7 | |
run: | | |
source scripts/toolchain/fbtenv.sh | |
python3 scripts/testing/units.py ${{steps.device.outputs.flipper}} | |
- name: 'Check GDB output' | |
if: failure() | |
run: | | |
./fbt gdb_trace_all SWD_TRANSPORT_SERIAL=2A0906016415303030303032 FIRMWARE_APP_SET=unit_tests FORCE=1 |