action_tools.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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. permissions:
  31. contents: read # to fetch code (actions/checkout)
  32. jobs:
  33. test:
  34. runs-on: ubuntu-22.04
  35. name: Tools
  36. if: github.repository_owner == 'RT-Thread'
  37. strategy:
  38. fail-fast: false
  39. env:
  40. TEST_BSP_ROOT: bsp/stm32/stm32f407-atk-explorer
  41. steps:
  42. - uses: actions/checkout@main
  43. - name: Install Tools
  44. shell: bash
  45. run: |
  46. wget https://raw.githubusercontent.com/RT-Thread/env/master/install_ubuntu.sh
  47. chmod 777 install_ubuntu.sh
  48. ./install_ubuntu.sh
  49. - name: Install Arm ToolChains
  50. if: ${{ success() }}
  51. shell: bash
  52. run: |
  53. 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
  54. sudo tar xjf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 -C /opt
  55. /opt/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-gcc --version
  56. echo "RTT_EXEC_PATH=/opt/gcc-arm-none-eabi-10-2020-q4-major/bin" >> $GITHUB_ENV
  57. - name: Build Tools
  58. run: |
  59. source ~/.env/env.sh
  60. scons --pyconfig-silent -C $TEST_BSP_ROOT 2>menuconfig.log
  61. cat menuconfig.log
  62. if grep -q "warning:" menuconfig.log; then
  63. echo "Errors found in menuconfig, failing the build."
  64. exit 1
  65. fi
  66. pushd $TEST_BSP_ROOT && pkgs --update && popd
  67. scons -j$(nproc) -C $TEST_BSP_ROOT
  68. - name: Project generate Tools
  69. if: ${{ success() }}
  70. run: |
  71. echo "Test to generate eclipse project"
  72. scons --target=eclipse -s -C $TEST_BSP_ROOT
  73. echo "Test to generate cmake project"
  74. scons --target=cmake -s -C $TEST_BSP_ROOT
  75. echo "Test to generate makefile project"
  76. scons --target=makefile -s -C $TEST_BSP_ROOT
  77. - name: Project dist Tools
  78. if: ${{ success() }}
  79. run: |
  80. echo "Test to dist project"
  81. scons --dist -C $TEST_BSP_ROOT
  82. scons --dist-ide -C $TEST_BSP_ROOT
  83. ls $TEST_BSP_ROOT
  84. ls $TEST_BSP_ROOT/dist
  85. scons --pyconfig-silent -C $TEST_BSP_ROOT/dist/project
  86. scons --pyconfig-silent -C $TEST_BSP_ROOT/rt-studio-project
  87. scons -C $TEST_BSP_ROOT/dist/project
  88. scons -C $TEST_BSP_ROOT/rt-studio-project