manual_trigger_scons_fail_bsp_all.yml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. #
  2. # Copyright (c) 2006-2023, RT-Thread Development Team
  3. #
  4. # SPDX-License-Identifier: Apache-2.0
  5. #
  6. # Change Logs:
  7. # Date Author Notes
  8. # 2023-08-05 Supperthomas the first version
  9. #
  10. name: manual_trigger_scons_fail_bsp_all.yml
  11. on:
  12. # Runs at 16:00 UTC (BeiJing 00:00) on the 2st of every month
  13. schedule:
  14. - cron: '0 16 2 * *'
  15. workflow_dispatch:
  16. # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_dispatchinputs
  17. inputs:
  18. bsp_config:
  19. description: 'Type a config you want mannual test in .config, like CONFIG_BSP_USING_I2C CONFIG_BSP_USING_WDT '
  20. required: false
  21. type: string
  22. default: 'CONFIG_BSP_USING_GPIO'
  23. dist_flag:
  24. description: 'True to dist all bsp, False not dist'
  25. required: true
  26. type: boolean
  27. default: false
  28. permissions:
  29. contents: read # to fetch code (actions/checkout)
  30. jobs:
  31. build:
  32. runs-on: ubuntu-22.04
  33. name: ${{ matrix.legs.RTT_BSP }}
  34. if: github.repository_owner == 'RT-Thread'
  35. strategy:
  36. fail-fast: false
  37. matrix:
  38. legs:
  39. - {RTT_BSP_NAME: "airm2m_air105", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "airm2m/air105"} #scons fail in last step
  40. - {RTT_BSP_NAME: "allwinner_d1", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "allwinner/d1"} # rt-smart fail toolchain
  41. - {RTT_BSP_NAME: "allwinner_d1s", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "allwinner/d1s"} #toochain
  42. - {RTT_BSP_NAME: "amebaz", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "amebaz"} # scons --pyconfig-silent 执行有问题
  43. - {RTT_BSP_NAME: "avr32uc3b0", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "avr32uc3b0"} #toolchain比较特殊,bsp不完善
  44. - {RTT_BSP_NAME: "bf533", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "bf533"} #bsp比较老,不完善
  45. - {RTT_BSP_NAME: "bouffalo_lab_bl61x", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "bouffalo_lab/bl61x"} #RISC-V 内核
  46. - {RTT_BSP_NAME: "bouffalo_lab_bl808_d0", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "bouffalo_lab/bl808/d0"} #toolchain
  47. - {RTT_BSP_NAME: "bouffalo_lab_bl808_lp", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "bouffalo_lab/bl808/lp"} #toolchain
  48. - {RTT_BSP_NAME: "bouffalo_lab_bl808_m0", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "bouffalo_lab/bl808/m0"} #toolchain
  49. - {RTT_BSP_NAME: "ck802", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "ck802"} #CKD toolchain
  50. - {RTT_BSP_NAME: "core-v-mcu_core-v-cv32e40p", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "core-v-mcu/core-v-cv32e40p"} #特殊toolchain,不支持
  51. - {RTT_BSP_NAME: "essemi_es32f0654", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "essemi/es32f0654"} #GCC link文件没支持好
  52. - {RTT_BSP_NAME: "essemi_es32f365x", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "essemi/es32f365x"} #GCC link文件没支持好
  53. - {RTT_BSP_NAME: "fm33lc026", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "fm33lc026"} #GCC
  54. - {RTT_BSP_NAME: "ft2004", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "ft2004"} #编译错误
  55. - {RTT_BSP_NAME: "hc32l136", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "hc32l136"} #编译错误
  56. - {RTT_BSP_NAME: "hk32_hk32f030c8-mini", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "hk32/hk32f030c8-mini"} #scons dist有问题
  57. - {RTT_BSP_NAME: "imx_imx6ull-smart", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "imx/imx6ull-smart"} # toolchain还没支持
  58. - {RTT_BSP_NAME: "imxrt_imxrt1170-nxp-evk_m7", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "imxrt/imxrt1170-nxp-evk/m7"} #GCC 编译有问题
  59. - {RTT_BSP_NAME: "Infineon_psoc6-pioneerkit_modus", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "Infineon/psoc6-pioneerkit_modus"} #GCC不支持
  60. - {RTT_BSP_NAME: "juicevm", RTT_TOOL_CHAIN: "sourcery-riscv-none-embed", RTT_BSP: "juicevm"} #编译错误
  61. - {RTT_BSP_NAME: "lpc43xx_M0", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc43xx/M0"} #编译问题
  62. - {RTT_BSP_NAME: "lpc43xx_M4", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc43xx/M4"} #编译问题
  63. - {RTT_BSP_NAME: "lpc54608-LPCXpresso", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc54608-LPCXpresso"} #编译问题
  64. - {RTT_BSP_NAME: "lpc824", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc824"} #编译问题
  65. - {RTT_BSP_NAME: "m16c62p", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "m16c62p"} #编译问题
  66. - {RTT_BSP_NAME: "microblaze", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "microblaze"} #编译问题
  67. - {RTT_BSP_NAME: "mini4020", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "mini4020"} #toolchain不支持
  68. - {RTT_BSP_NAME: "mm32f327x", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "mm32f327x"} #编译问题
  69. - {RTT_BSP_NAME: "mm32l07x", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "mm32l07x"} #编译问题
  70. - {RTT_BSP_NAME: "nios_ii", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "nios_ii"} #编译问题
  71. - {RTT_BSP_NAME: "nuclei_nuclei_fpga_eval", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "nuclei/nuclei_fpga_eval"} #riscv-nuclei-elf-gcc toolchain不支持
  72. - {RTT_BSP_NAME: "nv32f100x", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "nv32f100x"} #编译错误
  73. - {RTT_BSP_NAME: "phytium_aarch32", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "phytium/aarch32"}
  74. - {RTT_BSP_NAME: "pic32ethernet", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "pic32ethernet"} #编译错误
  75. - {RTT_BSP_NAME: "raspberry-pi_raspi2", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "raspberry-pi/raspi2"} #编译错误,toolchain不对
  76. - {RTT_BSP_NAME: "rockchip_rk2108", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "rockchip/rk2108"} # menuconfig 有问题
  77. - {RTT_BSP_NAME: "rv32m1_vega_ri5cy", RTT_TOOL_CHAIN: "sourcery-riscv-none-embed", RTT_BSP: "rv32m1_vega/ri5cy"} # 编译错误
  78. - {RTT_BSP_NAME: "rx", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "rx"} #GCC 还未支持
  79. - {RTT_BSP_NAME: "samd21", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "samd21"} #GCC 还未支持
  80. - {RTT_BSP_NAME: "sep6200", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "sep6200"} #unicore32-linux-gcc 还没支持
  81. - {RTT_BSP_NAME: "synopsys_boards", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "synopsys/boards"} #不支持的toolchain
  82. - {RTT_BSP_NAME: "tae32f5300", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "tae32f5300"} #musl toolchain 未支持
  83. - {RTT_BSP_NAME: "taihu", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "taihu"} #powerpc-eabi-gcc 未支持
  84. - {RTT_BSP_NAME: "thead-smart", RTT_TOOL_CHAIN: "sourcery-riscv64-unknown-elf", RTT_BSP: "thead-smart"} #menuconfig有问题
  85. - {RTT_BSP_NAME: "ti_c28x_tms320f28379d", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "ti/c28x/tms320f28379d"} #编译出错
  86. - {RTT_BSP_NAME: "tkm32F499", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "tkm32F499"} #menuconfig 出错
  87. - {RTT_BSP_NAME: "tms320c6678", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "tms320c6678"} #scons还没支持
  88. - {RTT_BSP_NAME: "upd70f3454", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "upd70f3454"} #GCC还没支持
  89. - {RTT_BSP_NAME: "w60x", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "w60x"} #menuconfig有问题
  90. - {RTT_BSP_NAME: "wch_arm_ch579m", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "wch/arm/ch579m"} #编译错误
  91. - {RTT_BSP_NAME: "wch_risc-v_ch32v103r-evt", RTT_TOOL_CHAIN: "sourcery-riscv-none-embed", RTT_BSP: "wch/risc-v/ch32v103r-evt"} #编译出错
  92. - {RTT_BSP_NAME: "wch_risc-v_ch569w-evt", RTT_TOOL_CHAIN: "sourcery-riscv-none-embed", RTT_BSP: "wch/risc-v/ch569w-evt"} #编译出错
  93. - {RTT_BSP_NAME: "wh44b0", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "wh44b0"} #scons还没支持
  94. - {RTT_BSP_NAME: "x86", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "x86"} #menuconfig有问题,toolchain也不支持
  95. - {RTT_BSP_NAME: "xplorer4330_M0", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "xplorer4330/M0"} #编译问题
  96. - {RTT_BSP_NAME: "yichip_yc3121-pos", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "yichip/yc3121-pos"} #编译问题
  97. - {RTT_BSP_NAME: "yichip_yc3122-pos", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "yichip/yc3122-pos"} #编译问题
  98. steps:
  99. - uses: actions/checkout@main
  100. - name: Set up Python
  101. uses: actions/setup-python@main
  102. with:
  103. python-version: 3.8
  104. - name: Install Tools
  105. shell: bash
  106. run: |
  107. sudo apt-get update
  108. wget https://raw.githubusercontent.com/RT-Thread/env/master/install_ubuntu.sh
  109. chmod 777 install_ubuntu.sh
  110. ./install_ubuntu.sh
  111. git config --global http.postBuffer 524288000
  112. echo "RTT_ROOT=${{ github.workspace }}" >> $GITHUB_ENV
  113. echo "RTT_CC=gcc" >> $GITHUB_ENV
  114. - name: Install Arm ToolChains
  115. if: ${{ matrix.legs.RTT_TOOL_CHAIN == 'sourcery-arm' && success() }}
  116. shell: bash
  117. run: |
  118. 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
  119. sudo tar xjf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 -C /opt
  120. /opt/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-gcc --version
  121. echo "RTT_EXEC_PATH=/opt/gcc-arm-none-eabi-10-2020-q4-major/bin" >> $GITHUB_ENV
  122. - name: Install AArch64 ToolChains
  123. if: ${{ matrix.legs.RTT_TOOL_CHAIN == 'sourcery-aarch64' && success() }}
  124. shell: bash
  125. run: |
  126. wget -q https://github.com/RT-Thread/toolchains-ci/releases/download/v1.6/gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf.tar.xz
  127. sudo tar -xf gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf.tar.xz -C /opt
  128. /opt/gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc --version
  129. echo "RTT_EXEC_PATH=/opt/gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf/bin" >> $GITHUB_ENV
  130. - name: Install Mips ToolChains
  131. if: ${{ matrix.legs.RTT_TOOL_CHAIN == 'sourcery-mips' && success() }}
  132. shell: bash
  133. run: |
  134. wget -q https://github.com/RT-Thread/toolchains-ci/releases/download/v1.1/mips-2016.05-7-mips-sde-elf-i686-pc-linux-gnu.tar.bz2
  135. sudo tar xjf mips-2016.05-7-mips-sde-elf-i686-pc-linux-gnu.tar.bz2 -C /opt
  136. /opt/mips-2016.05/bin/mips-sde-elf-gcc --version
  137. echo "RTT_EXEC_PATH=/opt/mips-2016.05/bin" >> $GITHUB_ENV
  138. - name: Install Riscv64-unknown-elf ToolChains
  139. if: ${{ matrix.legs.RTT_TOOL_CHAIN == 'sourcery-riscv64-unknown-elf' && success() }}
  140. run: |
  141. wget -q https://github.com/RT-Thread/toolchains-ci/releases/download/v1.4/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz
  142. sudo tar zxvf riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz -C /opt
  143. /opt/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/riscv64-unknown-elf-gcc --version
  144. echo "RTT_EXEC_PATH=/opt/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin" >> $GITHUB_ENV
  145. - name: Install Riscv-none-embed ToolChains
  146. if: ${{ matrix.legs.RTT_TOOL_CHAIN == 'sourcery-riscv-none-embed' && success() }}
  147. run: |
  148. wget -q https://github.com/RT-Thread/toolchains-ci/releases/download/v1.5/xpack-riscv-none-embed-gcc-8.3.0-2.3-linux-x64.tar.gz
  149. sudo tar zxvf xpack-riscv-none-embed-gcc-8.3.0-2.3-linux-x64.tar.gz -C /opt
  150. /opt/xpack-riscv-none-embed-gcc-8.3.0-2.3/bin/riscv-none-embed-gcc --version
  151. echo "RTT_EXEC_PATH=/opt/xpack-riscv-none-embed-gcc-8.3.0-2.3/bin" >> $GITHUB_ENV
  152. - name: Install Simulator Tools
  153. if: ${{ matrix.legs.RTT_TOOL_CHAIN == 'gcc' && success() }}
  154. run: |
  155. sudo apt-get -qq install libsdl2-dev
  156. - name: Bsp Scons Compile
  157. if: ${{ success() }}
  158. shell: bash
  159. env:
  160. RTT_BSP: ${{ matrix.legs.RTT_BSP }}
  161. RTT_TOOL_CHAIN: ${{ matrix.legs.RTT_TOOL_CHAIN }}
  162. run: |
  163. # source ~/.env/env.sh
  164. echo $RTT_BSP
  165. ls bsp/$RTT_BSP/Kconfig && scons -C bsp/$RTT_BSP --pyconfig-silent
  166. sed -i "s/# ${{ github.event.inputs.bsp_config }} is not set/${{ github.event.inputs.bsp_config }}=y/g" bsp/$RTT_BSP/.config
  167. scons -C bsp/$RTT_BSP --pyconfig-silent
  168. pushd bsp/$RTT_BSP && pkgs --update && popd
  169. scons -C bsp/$RTT_BSP -j$(nproc)
  170. mkdir -p ${{ github.workspace }}/$RTT_BSP
  171. cp -r bsp/$RTT_BSP ${{ github.workspace }}/$RTT_BSP/
  172. scons --dist -C bsp/$RTT_BSP
  173. cp bsp/$RTT_BSP/dist/project.zip ${{ github.workspace }}/$RTT_BSP/
  174. ls bsp/$RTT_BSP/dist
  175. pwd
  176. - uses: actions/upload-artifact@v3
  177. if: ${{ github.event.inputs.dist_flag }}
  178. env:
  179. RTT_BSP: ${{ matrix.legs.RTT_BSP }}
  180. RTT_TOOL_CHAIN: ${{ matrix.legs.RTT_TOOL_CHAIN }}
  181. with:
  182. name: ${{ matrix.legs.RTT_BSP_NAME}}
  183. path: ${{ github.workspace }}/${{matrix.legs.RTT_BSP}}/*