action_utest.yml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. name: AutoTestCI
  2. # Controls when the action will run. Triggers the workflow on push or pull request
  3. on: [push, pull_request]
  4. jobs:
  5. test:
  6. runs-on: ubuntu-latest
  7. name: ${{ matrix.legs.UTEST }}
  8. strategy:
  9. fail-fast: false
  10. matrix:
  11. legs:
  12. - {UTEST: "kernel/ipc", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "vexpress-a9", CONFIG_FILE: "examples/utest/configs/utest_self/config.h"}
  13. - {UTEST: "components/utest", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "vexpress-a9", CONFIG_FILE: "examples/utest/configs/utest_self/config.h"}
  14. env:
  15. TEST_BSP_ROOT: ${{ matrix.legs.RTT_BSP }}
  16. TEST_CONFIG_FILE: ${{ matrix.legs.CONFIG_FILE }}
  17. steps:
  18. - uses: actions/checkout@v1
  19. - name: Prepare env
  20. run: |
  21. sudo apt-get update > /dev/null
  22. sudo apt-get -yqq install scons qemu-system-arm git
  23. wget -q https://github.com/RT-Thread/toolchains-ci/releases/download/arm-2017q2-v6/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2
  24. sudo tar xjf gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2 -C /opt
  25. - name: Build bsp
  26. run: |
  27. export RTT_EXEC_PATH=/opt/gcc-arm-none-eabi-6-2017-q2-update/bin
  28. /opt/gcc-arm-none-eabi-6-2017-q2-update/bin/arm-none-eabi-gcc --version
  29. cp $TEST_CONFIG_FILE $TEST_BSP_ROOT/rtconfig.h
  30. scons -j$(nproc) -C $TEST_BSP_ROOT
  31. - name: Start test
  32. run: |
  33. git clone https://github.com/armink/UtestRunner.git
  34. pushd $TEST_BSP_ROOT
  35. dd if=/dev/zero of=sd.bin bs=1024 count=65536
  36. popd
  37. pushd UtestRunner
  38. python3 qemu_runner.py --elf ../$TEST_BSP_ROOT/rtthread.elf --sd ../$TEST_BSP_ROOT/sd.bin
  39. cat rtt_console.log
  40. popd