# # Copyright (c) 2006-2023, RT-Thread Development Team # # SPDX-License-Identifier: Apache-2.0 # # Change Logs: # Date Author Notes # 2023-08-05 Supperthomas the first version # name: manual_trigger_scons_fail_bsp_all.yml on: # Runs at 16:00 UTC (BeiJing 00:00) on the 2st of every month schedule: - cron: '0 16 2 * *' workflow_dispatch: # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onworkflow_dispatchinputs inputs: bsp_config: description: 'Type a config you want mannual test in .config, like CONFIG_BSP_USING_I2C CONFIG_BSP_USING_WDT ' required: false type: string default: 'CONFIG_BSP_USING_GPIO' dist_flag: description: 'True to dist all bsp, False not dist' required: true type: boolean default: false permissions: contents: read # to fetch code (actions/checkout) jobs: build: runs-on: ubuntu-latest name: ${{ matrix.legs.RTT_BSP }} strategy: fail-fast: false matrix: legs: - {RTT_BSP_NAME: "airm2m_air105", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "airm2m/air105"} #scons fail in last step - {RTT_BSP_NAME: "allwinner_d1", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "allwinner/d1"} # rt-smart fail toolchain - {RTT_BSP_NAME: "allwinner_d1s", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "allwinner/d1s"} #toochain - {RTT_BSP_NAME: "amebaz", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "amebaz"} # scons --pyconfig-silent 执行有问题 - {RTT_BSP_NAME: "avr32uc3b0", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "avr32uc3b0"} #toolchain比较特殊,bsp不完善 - {RTT_BSP_NAME: "bf533", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "bf533"} #bsp比较老,不完善 - {RTT_BSP_NAME: "bouffalo_lab_bl61x", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "bouffalo_lab/bl61x"} #RISC-V 内核 - {RTT_BSP_NAME: "bouffalo_lab_bl808_d0", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "bouffalo_lab/bl808/d0"} #toolchain - {RTT_BSP_NAME: "bouffalo_lab_bl808_lp", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "bouffalo_lab/bl808/lp"} #toolchain - {RTT_BSP_NAME: "bouffalo_lab_bl808_m0", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "bouffalo_lab/bl808/m0"} #toolchain - {RTT_BSP_NAME: "ck802", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "ck802"} #CKD toolchain - {RTT_BSP_NAME: "core-v-mcu_core-v-cv32e40p", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "core-v-mcu/core-v-cv32e40p"} #特殊toolchain,不支持 - {RTT_BSP_NAME: "essemi_es32f0654", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "essemi/es32f0654"} #GCC link文件没支持好 - {RTT_BSP_NAME: "essemi_es32f365x", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "essemi/es32f365x"} #GCC link文件没支持好 - {RTT_BSP_NAME: "fm33lc026", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "fm33lc026"} #GCC - {RTT_BSP_NAME: "ft2004", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "ft2004"} #编译错误 - {RTT_BSP_NAME: "gd32105c-eval", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "gd32105c-eval"} #编译错误 - {RTT_BSP_NAME: "gd32107c-eval", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "gd32107c-eval"} #编译错误 - {RTT_BSP_NAME: "gd32350r-eval", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "gd32350r-eval"} #编译错误 - {RTT_BSP_NAME: "hc32l136", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "hc32l136"} #编译错误 - {RTT_BSP_NAME: "hk32_hk32f030c8-mini", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "hk32/hk32f030c8-mini"} #scons dist有问题 - {RTT_BSP_NAME: "imx_imx6ull-smart", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "imx/imx6ull-smart"} # toolchain还没支持 - {RTT_BSP_NAME: "imxrt_imxrt1170-nxp-evk_m7", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "imxrt/imxrt1170-nxp-evk/m7"} #GCC 编译有问题 - {RTT_BSP_NAME: "Infineon_psoc6-pioneerkit_modus", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "Infineon/psoc6-pioneerkit_modus"} #GCC不支持 - {RTT_BSP_NAME: "juicevm", RTT_TOOL_CHAIN: "sourcery-riscv-none-embed", RTT_BSP: "juicevm"} #编译错误 - {RTT_BSP_NAME: "lpc43xx_M0", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc43xx/M0"} #编译问题 - {RTT_BSP_NAME: "lpc43xx_M4", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc43xx/M4"} #编译问题 - {RTT_BSP_NAME: "lpc54608-LPCXpresso", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc54608-LPCXpresso"} #编译问题 - {RTT_BSP_NAME: "lpc824", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc824"} #编译问题 - {RTT_BSP_NAME: "m16c62p", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "m16c62p"} #编译问题 - {RTT_BSP_NAME: "microblaze", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "microblaze"} #编译问题 - {RTT_BSP_NAME: "mini4020", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "mini4020"} #toolchain不支持 - {RTT_BSP_NAME: "mm32f327x", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "mm32f327x"} #编译问题 - {RTT_BSP_NAME: "mm32l07x", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "mm32l07x"} #编译问题 - {RTT_BSP_NAME: "nios_ii", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "nios_ii"} #编译问题 - {RTT_BSP_NAME: "nuclei_nuclei_fpga_eval", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "nuclei/nuclei_fpga_eval"} #riscv-nuclei-elf-gcc toolchain不支持 - {RTT_BSP_NAME: "nv32f100x", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "nv32f100x"} #编译错误 - {RTT_BSP_NAME: "phytium_aarch32", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "phytium/aarch32"} - {RTT_BSP_NAME: "pic32ethernet", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "pic32ethernet"} #编译错误 - {RTT_BSP_NAME: "raspberry-pi_raspi2", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "raspberry-pi/raspi2"} #编译错误,toolchain不对 - {RTT_BSP_NAME: "rockchip_rk2108", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "rockchip/rk2108"} # menuconfig 有问题 - {RTT_BSP_NAME: "rv32m1_vega_ri5cy", RTT_TOOL_CHAIN: "sourcery-riscv-none-embed", RTT_BSP: "rv32m1_vega/ri5cy"} # 编译错误 - {RTT_BSP_NAME: "rx", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "rx"} #GCC 还未支持 - {RTT_BSP_NAME: "samd21", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "samd21"} #GCC 还未支持 - {RTT_BSP_NAME: "sep6200", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "sep6200"} #unicore32-linux-gcc 还没支持 - {RTT_BSP_NAME: "synopsys_boards", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "synopsys/boards"} #不支持的toolchain - {RTT_BSP_NAME: "tae32f5300", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "tae32f5300"} #musl toolchain 未支持 - {RTT_BSP_NAME: "taihu", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "taihu"} #powerpc-eabi-gcc 未支持 - {RTT_BSP_NAME: "thead-smart", RTT_TOOL_CHAIN: "sourcery-riscv64-unknown-elf", RTT_BSP: "thead-smart"} #menuconfig有问题 - {RTT_BSP_NAME: "ti_c28x_tms320f28379d", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "ti/c28x/tms320f28379d"} #编译出错 - {RTT_BSP_NAME: "tkm32F499", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "tkm32F499"} #menuconfig 出错 - {RTT_BSP_NAME: "tms320c6678", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "tms320c6678"} #scons还没支持 - {RTT_BSP_NAME: "upd70f3454", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "upd70f3454"} #GCC还没支持 - {RTT_BSP_NAME: "w60x", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "w60x"} #menuconfig有问题 - {RTT_BSP_NAME: "wch_arm_ch579m", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "wch/arm/ch579m"} #编译错误 - {RTT_BSP_NAME: "wch_risc-v_ch32v103r-evt", RTT_TOOL_CHAIN: "sourcery-riscv-none-embed", RTT_BSP: "wch/risc-v/ch32v103r-evt"} #编译出错 - {RTT_BSP_NAME: "wch_risc-v_ch569w-evt", RTT_TOOL_CHAIN: "sourcery-riscv-none-embed", RTT_BSP: "wch/risc-v/ch569w-evt"} #编译出错 - {RTT_BSP_NAME: "wh44b0", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "wh44b0"} #scons还没支持 - {RTT_BSP_NAME: "x86", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "x86"} #menuconfig有问题,toolchain也不支持 - {RTT_BSP_NAME: "xplorer4330_M0", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "xplorer4330/M0"} #编译问题 - {RTT_BSP_NAME: "yichip_yc3121-pos", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "yichip/yc3121-pos"} #编译问题 - {RTT_BSP_NAME: "yichip_yc3122-pos", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "yichip/yc3122-pos"} #编译问题 steps: - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v3 with: python-version: 3.8 - name: Install Tools shell: bash run: | sudo apt-get update sudo apt-get -qq install gcc-multilib libncurses5-dev scons sudo python -m pip install --upgrade pip -qq pip install requests -qq git config --global http.postBuffer 524288000 python -c "import tools.menuconfig; tools.menuconfig.touch_env()" echo "RTT_ROOT=${{ github.workspace }}" >> $GITHUB_ENV echo "RTT_CC=gcc" >> $GITHUB_ENV - name: Install Arm ToolChains if: ${{ matrix.legs.RTT_TOOL_CHAIN == 'sourcery-arm' && success() }} shell: bash run: | 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 sudo tar xjf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 -C /opt /opt/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-gcc --version echo "RTT_EXEC_PATH=/opt/gcc-arm-none-eabi-10-2020-q4-major/bin" >> $GITHUB_ENV - name: Install AArch64 ToolChains if: ${{ matrix.legs.RTT_TOOL_CHAIN == 'sourcery-aarch64' && success() }} shell: bash run: | 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 sudo tar -xf gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf.tar.xz -C /opt /opt/gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf/bin/aarch64-none-elf-gcc --version echo "RTT_EXEC_PATH=/opt/gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf/bin" >> $GITHUB_ENV - name: Install Mips ToolChains if: ${{ matrix.legs.RTT_TOOL_CHAIN == 'sourcery-mips' && success() }} shell: bash run: | 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 sudo tar xjf mips-2016.05-7-mips-sde-elf-i686-pc-linux-gnu.tar.bz2 -C /opt /opt/mips-2016.05/bin/mips-sde-elf-gcc --version echo "RTT_EXEC_PATH=/opt/mips-2016.05/bin" >> $GITHUB_ENV - name: Install Riscv64-unknown-elf ToolChains if: ${{ matrix.legs.RTT_TOOL_CHAIN == 'sourcery-riscv64-unknown-elf' && success() }} run: | 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 sudo tar zxvf riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz -C /opt /opt/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin/riscv64-unknown-elf-gcc --version echo "RTT_EXEC_PATH=/opt/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin" >> $GITHUB_ENV - name: Install Riscv-none-embed ToolChains if: ${{ matrix.legs.RTT_TOOL_CHAIN == 'sourcery-riscv-none-embed' && success() }} run: | 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 sudo tar zxvf xpack-riscv-none-embed-gcc-8.3.0-2.3-linux-x64.tar.gz -C /opt /opt/xpack-riscv-none-embed-gcc-8.3.0-2.3/bin/riscv-none-embed-gcc --version echo "RTT_EXEC_PATH=/opt/xpack-riscv-none-embed-gcc-8.3.0-2.3/bin" >> $GITHUB_ENV - name: Install Simulator Tools if: ${{ matrix.legs.RTT_TOOL_CHAIN == 'gcc' && success() }} run: | sudo apt-get -qq install libsdl2-dev - name: Bsp Scons Compile if: ${{ success() }} shell: bash env: RTT_BSP: ${{ matrix.legs.RTT_BSP }} RTT_TOOL_CHAIN: ${{ matrix.legs.RTT_TOOL_CHAIN }} run: | source ~/.env/env.sh echo $RTT_BSP ls bsp/$RTT_BSP/Kconfig && scons -C bsp/$RTT_BSP --pyconfig-silent sed -i "s/# ${{ github.event.inputs.bsp_config }} is not set/${{ github.event.inputs.bsp_config }}=y/g" bsp/$RTT_BSP/.config scons -C bsp/$RTT_BSP --pyconfig-silent pushd bsp/$RTT_BSP && pkgs --update && popd scons -C bsp/$RTT_BSP -j$(nproc) mkdir -p ${{ github.workspace }}/$RTT_BSP cp -r bsp/$RTT_BSP ${{ github.workspace }}/$RTT_BSP/ scons --dist -C bsp/$RTT_BSP cp bsp/$RTT_BSP/dist/project.zip ${{ github.workspace }}/$RTT_BSP/ ls bsp/$RTT_BSP/dist pwd - uses: actions/upload-artifact@v3 if: ${{ github.event.inputs.dist_flag }} env: RTT_BSP: ${{ matrix.legs.RTT_BSP }} RTT_TOOL_CHAIN: ${{ matrix.legs.RTT_TOOL_CHAIN }} with: name: ${{ matrix.legs.RTT_BSP_NAME}} path: ${{ github.workspace }}/${{matrix.legs.RTT_BSP}}/*