mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-12-02 09:19:18 +00:00
d92b0a82cc
"A long time ago in a galaxy far, far away...." we started NFC subsystem refactoring. Starring: - @gornekich - NFC refactoring project lead, architect, senior developer - @gsurkov - architect, senior developer - @RebornedBrain - senior developer Supporting roles: - @skotopes, @DrZlo13, @hedger - general architecture advisors, code review - @Astrrra, @doomwastaken, @Hellitron, @ImagineVagon333 - quality assurance Special thanks: @bettse, @pcunning, @nxv, @noproto, @AloneLiberty and everyone else who has been helping us all this time and contributing valuable knowledges, ideas and source code.
69 lines
2.4 KiB
YAML
69 lines
2.4 KiB
YAML
name: 'Unit tests'
|
|
|
|
on:
|
|
pull_request:
|
|
|
|
env:
|
|
TARGETS: f7
|
|
DEFAULT_TARGET: f7
|
|
FBT_TOOLCHAIN_PATH: /opt
|
|
FBT_GIT_SUBMODULE_SHALLOW: 1
|
|
|
|
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 LIB_DEBUG=1 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 LIB_DEBUG=1 FIRMWARE_APP_SET=unit_tests FORCE=1
|