Browse Source

[action] add toolchain download link

supperthomas 10 months ago
parent
commit
fe8a00fafc
3 changed files with 48 additions and 6 deletions
  1. 22 4
      tools/ci/bsp_detail.py
  2. 1 1
      tools/ci/bsp_detail.yml
  3. 25 1
      tools/ci/toolchain_bsp.yml

+ 22 - 4
tools/ci/bsp_detail.py

@@ -19,7 +19,18 @@ import subprocess
 #pip install pandas
 #pip install tabulate
 
-
+# 添加每个工具链的下载地址
+download_urls = {
+    'arm-none-eabi-gcc': 'https://github.com/RT-Thread/toolchains-ci/releases/download/v1.3/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2',
+    'mips-sde-elf-gcc': 'https://github.com/RT-Thread/toolchains-ci/releases/download/v1.6/gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf.tar.xz',
+    'riscv64-unknown-elf-gcc': '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',
+    'riscv32-unknown-elf-gcc': 'https://github.com/hpmicro/riscv-gnu-toolchain/releases/download/2022.05.15/riscv32-unknown-elf-newlib-multilib_2022.05.15_linux.tar.gz',
+    'llvm-arm': 'https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-16.0.0/LLVMEmbeddedToolchainForArm-16.0.0-Linux-x86_64.tar.gz',
+    'riscv-none-embed-gcc': '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',
+    'riscv32-esp-elf-gcc': 'https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-linux-amd64.tar.xz',
+    'clang': 'https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/download/release-16.0.0/LLVMEmbeddedToolchainForArm-16.0.0-Linux-x86_64.tar.gz',
+    # 添加其他工具链的下载地址
+}
 # 产生toolchain.yml文件
 def generate_toolchain_yaml(input_file, output_file, header_comment):
     with open(input_file, 'r', encoding='utf-8') as file:
@@ -32,13 +43,21 @@ def generate_toolchain_yaml(input_file, output_file, header_comment):
             if gcc not in toolchain_data:
                 toolchain_data[gcc] = {'bsp': []}
             toolchain_data[gcc]['bsp'].append(folder)
-    
+
+
+    # 添加每个工具链的个数
+    for gcc, details in toolchain_data.items():
+        details['count'] = len(details['bsp'])
+        download_url = download_urls.get(gcc)
+        if download_url:
+            details['download_url'] = download_url
+
     with open(output_file, 'w', encoding='utf-8') as file:
         file.write(f"# {header_comment}\n")
         yaml.dump(toolchain_data, file, default_flow_style=False, allow_unicode=True)
 
 
-# 这个脚本主要用来生成一个bsp相关的信息的文件放到bsp根目录下面
+# 这个函数通过检查文件是否存在来检查bsp的支持情况
 def check_files(root_dir, file_list):
     data = []
     folders_checked = set()
@@ -113,7 +132,6 @@ def output_to_yaml(dataframe, output_file, header_comment):
         file.write(f"# {header_comment}\n")
         yaml.dump(yaml_data, file, default_flow_style=False, allow_unicode=True)
 
-# 示例用法:
 # Find the rt-thread root directory
 rtt_root = os.getcwd()
 while not os.path.exists(os.path.join(rtt_root, 'LICENSE')):

+ 1 - 1
tools/ci/bsp_detail.yml

@@ -5,7 +5,7 @@
 #
 # Change Logs:
 # Date           Author       Notes
-# 2024-08-24     supperthomas the first version
+# 2024-08-25     supperthomas the first version
 #
 
 CME_M7:

+ 25 - 1
tools/ci/toolchain_bsp.yml

@@ -5,7 +5,7 @@
 #
 # Change Logs:
 # Date           Author       Notes
-# 2024-08-24     supperthomas the first version
+# 2024-08-25     supperthomas the first version
 #
 
 aarch64-none-elf-gcc:
@@ -17,9 +17,11 @@ aarch64-none-elf-gcc:
   - raspberry-pi/raspi4-64
   - rockchip/rk3568
   - zynqmp-a53-dfzu2eg
+  count: 7
 arc-elf32-gcc:
   bsp:
   - synopsys/boards
+  count: 1
 arm-none-eabi-gcc:
   bsp:
   - CME_M7
@@ -320,33 +322,43 @@ arm-none-eabi-gcc:
   - yichip/yc3121-pos
   - yichip/yc3122-pos
   - zynqmp-r5-axu4ev
+  count: 298
+  download_url: https://github.com/RT-Thread/toolchains-ci/releases/download/v1.3/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
 avr32-gcc:
   bsp:
   - avr32/at32uc3a0256
   - avr32/at32uc3b0256
+  count: 2
 csky-abiv2-elf-gcc:
   bsp:
   - ck802
   - essemi/es32vf2264
+  count: 2
 gcc:
   bsp:
   - simulator
+  count: 1
 i386-unknown-elf-gcc:
   bsp:
   - x86
+  count: 1
 m32c-elf-gcc:
   bsp:
   - m16c62p
   - upd70f3454
+  count: 2
 mips-sde-elf-gcc:
   bsp:
   - loongson/ls1bdev
   - loongson/ls1cdev
   - loongson/ls2kdev
   - mipssim
+  count: 4
+  download_url: https://github.com/RT-Thread/toolchains-ci/releases/download/v1.6/gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf.tar.xz
 powerpc-eabi-gcc:
   bsp:
   - taihu
+  count: 1
 riscv-none-embed-gcc:
   bsp:
   - gd32/risc-v/gd32vf103r-start
@@ -360,13 +372,18 @@ riscv-none-embed-gcc:
   - wch/risc-v/ch32v307v-r1
   - wch/risc-v/ch569w-evt
   - wch/risc-v/yd-ch32v307vct6
+  count: 11
+  download_url: 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
 riscv-nuclei-elf-gcc:
   bsp:
   - nuclei/gd32vf103_rvstar
   - nuclei/nuclei_fpga_eval
+  count: 2
 riscv32-esp-elf-gcc:
   bsp:
   - ESP32_C3
+  count: 1
+  download_url: https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-linux-amd64.tar.xz
 riscv32-unknown-elf-gcc:
   bsp:
   - core-v-mcu/core-v-cv32e40p
@@ -378,6 +395,8 @@ riscv32-unknown-elf-gcc:
   - hpmicro/hpm6750evk2
   - hpmicro/hpm6750evkmini
   - hpmicro/hpm6800evk
+  count: 9
+  download_url: https://github.com/hpmicro/riscv-gnu-toolchain/releases/download/2022.05.15/riscv32-unknown-elf-newlib-multilib_2022.05.15_linux.tar.gz
 riscv64-unknown-elf-gcc:
   bsp:
   - bluetrum/ab32vg1-ab-prougen
@@ -391,14 +410,19 @@ riscv64-unknown-elf-gcc:
   - qemu-virt64-riscv
   - sparkfun-redv
   - thead-smart
+  count: 11
+  download_url: 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
 riscv64-unknown-linux-musl-gcc:
   bsp:
   - allwinner/d1
   - allwinner/d1s
   - bouffalo_lab/bl808/d0
+  count: 3
 sparc-gaisler-elf-gcc:
   bsp:
   - bm3803
+  count: 1
 unicore32-linux-gcc:
   bsp:
   - sep6200
+  count: 1