action_tools.yml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. name: ToolsCI
  2. # Controls when the action will run. Triggers the workflow on push or pull request
  3. # events but only for the master branch
  4. on:
  5. # Runs at 16:00 UTC (BeiJing 00:00) on the 1st of every month
  6. schedule:
  7. - cron: '0 16 1 * *'
  8. push:
  9. branches:
  10. - master
  11. paths-ignore:
  12. - documentation/**
  13. - '**/README.md'
  14. - '**/README_zh.md'
  15. - '**/*.c'
  16. - '**/*.h'
  17. - '**/*.cpp'
  18. pull_request:
  19. branches:
  20. - master
  21. paths-ignore:
  22. - documentation/**
  23. - '**/README.md'
  24. - '**/README_zh.md'
  25. - '**/*.c'
  26. - '**/*.h'
  27. - '**/*.cpp'
  28. workflow_dispatch:
  29. repository_dispatch:
  30. concurrency:
  31. group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  32. cancel-in-progress: true
  33. permissions:
  34. contents: read # to fetch code (actions/checkout)
  35. jobs:
  36. test:
  37. runs-on: ubuntu-22.04
  38. name: Tools
  39. if: github.repository_owner == 'RT-Thread'
  40. strategy:
  41. fail-fast: false
  42. env:
  43. TEST_BSP_ROOT: bsp/stm32/stm32f407-atk-explorer
  44. steps:
  45. - uses: actions/checkout@main
  46. - name: Install Tools
  47. shell: bash
  48. run: |
  49. wget https://raw.githubusercontent.com/RT-Thread/env/master/install_ubuntu.sh
  50. chmod 777 install_ubuntu.sh
  51. ./install_ubuntu.sh
  52. - name: Install Arm ToolChains
  53. if: ${{ success() }}
  54. shell: bash
  55. run: |
  56. wget -q https://github.com/RT-Thread/toolchains-ci/releases/download/v1.3/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
  57. sudo tar xjf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 -C /opt
  58. /opt/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-gcc --version
  59. echo "RTT_EXEC_PATH=/opt/gcc-arm-none-eabi-10-2020-q4-major/bin" >> $GITHUB_ENV
  60. - name: Build Tools
  61. run: |
  62. source ~/.env/env.sh
  63. scons --pyconfig-silent -C $TEST_BSP_ROOT 2>menuconfig.log
  64. cat menuconfig.log
  65. if grep -q "warning:" menuconfig.log; then
  66. echo "Errors found in menuconfig, failing the build."
  67. exit 1
  68. fi
  69. pushd $TEST_BSP_ROOT && pkgs --update && popd
  70. scons -j$(nproc) -C $TEST_BSP_ROOT
  71. - name: Project generate Tools
  72. if: ${{ success() }}
  73. run: |
  74. echo "Test to generate eclipse project"
  75. scons --target=eclipse -s -C $TEST_BSP_ROOT
  76. echo "Test to generate cmake project"
  77. scons --target=cmake -s -C $TEST_BSP_ROOT
  78. echo "Test to generate makefile project"
  79. scons --target=makefile -s -C $TEST_BSP_ROOT
  80. - name: Project dist Tools
  81. if: ${{ success() }}
  82. run: |
  83. echo "Test to dist project"
  84. scons --dist -C $TEST_BSP_ROOT
  85. scons --dist-ide -C $TEST_BSP_ROOT
  86. ls $TEST_BSP_ROOT
  87. ls $TEST_BSP_ROOT/dist
  88. scons --pyconfig-silent -C $TEST_BSP_ROOT/dist/project
  89. scons --pyconfig-silent -C $TEST_BSP_ROOT/rt-studio-project
  90. scons -C $TEST_BSP_ROOT/dist/project
  91. scons -C $TEST_BSP_ROOT/rt-studio-project