201 lines
13 KiB
YAML
201 lines
13 KiB
YAML
#
|
||
# 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}}/*
|