summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorCYFS <[email protected]>2026-06-26 11:05:32 +0800
committerRbb666 <[email protected]>2026-06-26 16:40:09 +0800
commit64651f968a2eafc9c92bfb5c567cfa21f5ddca4f (patch)
tree279c84bd92671d5ec9605290b61e77367f7a4180 /.github
parentc374e529c4e04b31cb4505f57f7abd217e6b62ae (diff)
ci: optimize membrowse target filtering
Diffstat (limited to '.github')
-rw-r--r--.github/membrowse-targets.json129
-rw-r--r--.github/workflows/membrowse-report.yml43
2 files changed, 151 insertions, 21 deletions
diff --git a/.github/membrowse-targets.json b/.github/membrowse-targets.json
index dae01eac5b..1e60c22bce 100644
--- a/.github/membrowse-targets.json
+++ b/.github/membrowse-targets.json
@@ -6,7 +6,12 @@
"elf": "bsp/stm32/stm32f407-rt-spark/rt-thread.elf",
"ld": "bsp/stm32/stm32f407-rt-spark/board/linker_scripts/link.lds",
"map_file": "bsp/stm32/stm32f407-rt-spark/rt-thread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/stm32/stm32f407-rt-spark",
+ "bsp/stm32/libraries",
+ "bsp/stm32/tools"
+ ]
},
{
"target_name": "stm32l475-atk-pandora-llvm",
@@ -16,7 +21,12 @@
"elf": "bsp/stm32/stm32l475-atk-pandora/rt-thread.elf",
"ld": "bsp/stm32/stm32l475-atk-pandora/board/linker_scripts/link.lds",
"map_file": "bsp/stm32/stm32l475-atk-pandora/rt-thread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/stm32/stm32l475-atk-pandora",
+ "bsp/stm32/libraries",
+ "bsp/stm32/tools"
+ ]
},
{
"target_name": "raspberry-pico-rp2040",
@@ -25,7 +35,12 @@
"elf": "bsp/raspberry-pico/RP2040/rtthread-pico.elf",
"ld": "bsp/raspberry-pico/RP2040/link.ld",
"map_file": "bsp/raspberry-pico/RP2040/rt-thread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/raspberry-pico/RP2040",
+ "bsp/raspberry-pico/libraries",
+ "bsp/raspberry-pico/tools"
+ ]
},
{
"target_name": "at32f415-start",
@@ -34,7 +49,12 @@
"elf": "bsp/at32/at32f415-start/rtthread.elf",
"ld": "bsp/at32/at32f415-start/board/linker_scripts/link.lds",
"map_file": "bsp/at32/at32f415-start/rt-thread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/at32/at32f415-start",
+ "bsp/at32/libraries",
+ "bsp/at32/tools"
+ ]
},
{
"target_name": "gd32105r-start",
@@ -43,7 +63,12 @@
"elf": "bsp/gd32/arm/gd32105r-start/rtthread.elf",
"ld": "bsp/gd32/arm/gd32105r-start/board/linker_scripts/link.ld",
"map_file": "bsp/gd32/arm/gd32105r-start/rtthread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/gd32/arm/gd32105r-start",
+ "bsp/gd32/arm/libraries",
+ "bsp/gd32/arm/tools"
+ ]
},
{
"target_name": "hc32f334",
@@ -52,7 +77,13 @@
"elf": "bsp/hc32/ev_hc32f334_lqfp64/rtthread.elf",
"ld": "bsp/hc32/ev_hc32f334_lqfp64/board/linker_scripts/link.ld",
"map_file": "bsp/hc32/ev_hc32f334_lqfp64/rtthread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/hc32/ev_hc32f334_lqfp64",
+ "bsp/hc32/libraries",
+ "bsp/hc32/platform",
+ "bsp/hc32/tools"
+ ]
},
{
"target_name": "nxp-lpc1114",
@@ -61,7 +92,10 @@
"elf": "bsp/nxp/lpc/lpc1114/rtthread-lpc1114.elf",
"ld": "bsp/nxp/lpc/lpc1114/link.lds",
"map_file": "bsp/nxp/lpc/lpc1114/rtthread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/nxp/lpc/lpc1114"
+ ]
},
{
"target_name": "nordic-nrf51822",
@@ -70,7 +104,12 @@
"elf": "bsp/nrf5x/nrf51822/rt-thread.elf",
"ld": "bsp/nrf5x/nrf51822/board/linker_scripts/link.lds",
"map_file": "bsp/nrf5x/nrf51822/rtthread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/nrf5x/nrf51822",
+ "bsp/nrf5x/libraries",
+ "bsp/nrf5x/tools"
+ ]
},
{
"target_name": "nuvoton-m487",
@@ -79,7 +118,12 @@
"elf": "bsp/nuvoton/numaker-iot-m487/rtthread.elf",
"ld": "bsp/nuvoton/numaker-iot-m487/linking_scripts/m480_link.ld",
"map_file": "bsp/nuvoton/numaker-iot-m487/rtthread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/nuvoton/numaker-iot-m487",
+ "bsp/nuvoton/libraries",
+ "bsp/nuvoton/tools"
+ ]
},
{
"target_name": "infineon-psoc6",
@@ -88,7 +132,12 @@
"elf": "bsp/Infineon/psoc6-cy8ckit-062s4/rt-thread.elf",
"ld": "bsp/Infineon/psoc6-cy8ckit-062s4/board/linker_scripts/link.ld",
"map_file": "bsp/Infineon/psoc6-cy8ckit-062s4/rtthread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/Infineon/psoc6-cy8ckit-062s4",
+ "bsp/Infineon/libraries",
+ "bsp/Infineon/tools"
+ ]
},
{
"target_name": "renesas-ra2l1",
@@ -97,7 +146,12 @@
"elf": "bsp/renesas/ra2l1-cpk/rtthread.elf",
"ld": "bsp/renesas/ra2l1-cpk/script/fsp.ld",
"map_file": "bsp/renesas/ra2l1-cpk/rtthread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/renesas/ra2l1-cpk",
+ "bsp/renesas/libraries",
+ "bsp/renesas/tools"
+ ]
},
{
"target_name": "qemu-virt64-aarch64",
@@ -106,7 +160,10 @@
"elf": "bsp/qemu-virt64-aarch64/rtthread.elf",
"ld": "libcpu/aarch64/link.lds",
"map_file": "bsp/qemu-virt64-aarch64/rtthread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/qemu-virt64-aarch64"
+ ]
},
{
"target_name": "wch-ch32v208w-r0",
@@ -115,7 +172,12 @@
"elf": "bsp/wch/risc-v/ch32v208w-r0/rtthread.elf",
"ld": "bsp/wch/risc-v/ch32v208w-r0/board/linker_scripts/link.lds",
"map_file": "bsp/wch/risc-v/ch32v208w-r0/rtthread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/wch/risc-v/ch32v208w-r0",
+ "bsp/wch/risc-v/Libraries",
+ "bsp/wch/risc-v/tools"
+ ]
},
{
"target_name": "hpmicro-hpm5301evklite",
@@ -124,7 +186,12 @@
"elf": "bsp/hpmicro/hpm5301evklite/rtthread.elf",
"ld": "bsp/hpmicro/hpm5301evklite/board/linker_scripts/gcc/flash_rtt.ld",
"map_file": "",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/hpmicro/hpm5301evklite",
+ "bsp/hpmicro/libraries",
+ "bsp/hpmicro/tools"
+ ]
},
{
"target_name": "xuantie-e901plus",
@@ -133,7 +200,12 @@
"elf": "bsp/xuantie/smartl/e901plus/rtthread.elf",
"ld": "bsp/xuantie/libraries/xuantie_libraries/chip_riscv_dummy/gcc_flash_smartl_lite.ld",
"map_file": "bsp/xuantie/smartl/e901plus/rtthread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/xuantie/smartl/e901plus",
+ "bsp/xuantie/libraries",
+ "bsp/xuantie/tools"
+ ]
},
{
"target_name": "esp32-c3",
@@ -142,7 +214,12 @@
"elf": "bsp/ESP/ESP32_C3/rtthread.elf",
"ld": "bsp/ESP/ESP32_C3/idf_port/ld/memory.ld bsp/ESP/ESP32_C3/idf_port/ld/sections.ld",
"map_file": "bsp/ESP/ESP32_C3/rtthread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/ESP/ESP32_C3",
+ "bsp/ESP/libraries",
+ "bsp/ESP/tools"
+ ]
},
{
"target_name": "k230",
@@ -151,7 +228,10 @@
"elf": "bsp/k230/rtthread.elf",
"ld": "bsp/k230/link.lds.generated",
"map_file": "bsp/k230/rtthread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/k230"
+ ]
},
{
"target_name": "loongson-ls1cdev",
@@ -160,7 +240,10 @@
"elf": "bsp/loongson/ls1cdev/rtthread.elf",
"ld": "bsp/loongson/ls1cdev/ls1c_ram.lds",
"map_file": "bsp/loongson/ls1cdev/rtthread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/loongson/ls1cdev"
+ ]
},
{
"target_name": "x86",
@@ -169,7 +252,10 @@
"elf": "bsp/x86/rtthread.elf",
"ld": "bsp/x86/x86_ram.lds",
"map_file": "bsp/x86/rtthread.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/x86"
+ ]
},
{
"target_name": "simulator",
@@ -178,6 +264,9 @@
"elf": "bsp/simulator/rtthread",
"ld": "bsp/simulator/gcc_elf64.ld",
"map_file": "bsp/simulator/rtthread-linux.map",
- "linker_vars": ""
+ "linker_vars": "",
+ "watch_paths": [
+ "bsp/simulator"
+ ]
}
]
diff --git a/.github/workflows/membrowse-report.yml b/.github/workflows/membrowse-report.yml
index 98ea34ea86..79c88db841 100644
--- a/.github/workflows/membrowse-report.yml
+++ b/.github/workflows/membrowse-report.yml
@@ -2,9 +2,35 @@ name: MemBrowse Memory Report
on:
pull_request:
+ paths:
+ - '.github/membrowse-targets.json'
+ - '.github/workflows/membrowse-report.yml'
+ - 'Kconfig'
+ - 'bsp/**'
+ - 'components/**'
+ - 'include/**'
+ - 'libcpu/**'
+ - 'src/**'
+ - 'tools/**'
+ - '!**/README*'
+ - '!**/readme*'
+ - '!bsp/**/docs/**'
push:
branches:
- master
+ paths:
+ - '.github/membrowse-targets.json'
+ - '.github/workflows/membrowse-report.yml'
+ - 'Kconfig'
+ - 'bsp/**'
+ - 'components/**'
+ - 'include/**'
+ - 'libcpu/**'
+ - 'src/**'
+ - 'tools/**'
+ - '!**/README*'
+ - '!**/readme*'
+ - '!bsp/**/docs/**'
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.sha || github.ref }}
@@ -15,16 +41,31 @@ jobs:
runs-on: ubuntu-22.04
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
+ target_count: ${{ steps.set-matrix.outputs.target_count }}
steps:
- name: Checkout repository
uses: actions/checkout@v5
+ with:
+ fetch-depth: 0
+
+ - name: Collect changed files
+ run: |
+ if [ "${{ github.event_name }}" = "pull_request" ]; then
+ git diff --name-only origin/${{ github.base_ref }}...HEAD > changed_files.txt
+ elif [ "${{ github.event.before }}" != "0000000000000000000000000000000000000000" ]; then
+ git diff --name-only ${{ github.event.before }} ${{ github.sha }} > changed_files.txt
+ else
+ git diff --name-only origin/${{ github.event.repository.default_branch }}...HEAD > changed_files.txt
+ fi
+ cat changed_files.txt
- name: Load target matrix
id: set-matrix
- run: echo "matrix=$(jq -c '.' .github/membrowse-targets.json)" >> $GITHUB_OUTPUT
+ run: python3 tools/ci/membrowse_filter_targets.py --targets .github/membrowse-targets.json --changed-files changed_files.txt
analyze:
needs: load-targets
+ if: ${{ needs.load-targets.outputs.target_count != '0' }}
runs-on: ubuntu-22.04
strategy:
fail-fast: false