6 Commits
Author SHA1 Message Date
7iwind 5a92e2ccfa Merge pull request 'fix: 修正CD错误' (#27) from feature/route into develop
CI / host (push) Successful in 9s
CI / cortex-m (push) Successful in 7s
CI / host (pull_request) Successful in 4s
CI / cortex-m (pull_request) Successful in 5s
Reviewed-on: #27
2026-07-26 23:50:47 +08:00
7iwind b98236466c fix: 修正CD错误 2026-07-26 23:49:36 +08:00
7iwind 5aba22d8e9 Merge pull request 'fix: 修正CD错误' (#25) from feature/route into develop
CI / host (push) Successful in 5s
CI / cortex-m (push) Successful in 10s
CI / host (pull_request) Successful in 7s
CI / cortex-m (pull_request) Successful in 9s
Reviewed-on: #25
2026-07-26 23:45:37 +08:00
7iwind 052df2fc21 fix: 修正CD错误 2026-07-26 23:45:10 +08:00
7iwind dee130197c Merge pull request 'fix: 修正CI错误' (#23) from feature/route into develop
CI / host (pull_request) Successful in 18s
CI / cortex-m (pull_request) Successful in 5s
CI / host (push) Successful in 5s
CI / cortex-m (push) Successful in 6s
Reviewed-on: #23
2026-07-26 23:38:29 +08:00
7iwind d0500151ab fix: 修正CI错误 2026-07-26 23:37:41 +08:00
2 changed files with 31 additions and 25 deletions
+13 -7
View File
@@ -15,8 +15,6 @@ jobs:
- name: Auto-tag from merged PR
id: autotag
run: |
set -e
# 已有标签 → 跳过
EXISTING=$(git tag --points-at HEAD | grep '^v' | head -n1)
if [ -n "$EXISTING" ]; then
@@ -25,7 +23,7 @@ jobs:
exit 0
fi
# 非 merge commit → 跳过(直接 push 不处理)
# 非 merge commit → 跳过
PARENTS=$(git log --format="%P" -1 | wc -w)
if [ "$PARENTS" -lt 2 ]; then
echo "Not a merge commit, skip auto-tag"
@@ -34,7 +32,7 @@ jobs:
# 从 merge commit message 提取 PR 号
COMMIT_MSG=$(git log --format="%B" -1)
PR_NUM=$(echo "$COMMIT_MSG" | grep -oP '#\K\d+' | head -1)
PR_NUM=$(echo "$COMMIT_MSG" | grep -oP '#\K\d+' | head -1) || true
if [ -z "$PR_NUM" ]; then
echo "No PR number found in merge message"
exit 0
@@ -55,14 +53,22 @@ jobs:
VERSION="$PR_BODY"
echo "Found version: $VERSION"
# 创建本地标签
# 检查远端是否已有此标签
if git ls-remote --tags origin "$VERSION" 2>/dev/null | grep -q .; then
echo "Tag $VERSION already exists on remote, skipping push"
git tag "$VERSION" 2>/dev/null || true
echo "tag=$VERSION" >> "$GITHUB_OUTPUT"
exit 0
fi
# 创建并推送标签
git config user.email "ci@datarouter"
git config user.name "DataRouter CI"
git tag -a "$VERSION" -m "Release $VERSION"
echo "Created local tag: $VERSION"
# 推送到远端(不会触发本 workflow — 仅匹配 branches: [main])
git push "https://${TOKEN}@${{ gitea.server_url }}/${{ gitea.repository }}" "$VERSION"
# 使用 origin remote(actions/checkout 已配置好认证)
git push origin "$VERSION" 2>&1
echo "Pushed tag: $VERSION"
echo "tag=$VERSION" >> "$GITHUB_OUTPUT"
+18 -18
View File
@@ -18,28 +18,28 @@ if(DR_COMPILE_CHECK)
find_program(ARM_GCC arm-none-eabi-gcc)
if(ARM_GCC)
message(STATUS "ARM GCC found: ${ARM_GCC}")
set(ARM_MATRIX
"cm3; -mcpu=cortex-m3 -mthumb -mfloat-abi=soft"
"cm4-soft; -mcpu=cortex-m4 -mthumb -mfloat-abi=soft"
"cm4-hard; -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard"
"cm7-soft; -mcpu=cortex-m7 -mthumb -mfloat-abi=soft"
"cm7-hard; -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard"
set(VARIANTS cm3 cm4-soft cm4-hard cm7-soft cm7-hard)
set(FLAG_LIST
"-mcpu=cortex-m3 -mthumb -mfloat-abi=soft"
"-mcpu=cortex-m4 -mthumb -mfloat-abi=soft"
"-mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard"
"-mcpu=cortex-m7 -mthumb -mfloat-abi=soft"
"-mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard"
)
foreach(ENTRY ${ARM_MATRIX})
string(REPLACE ";" "|" ENTRY "${ENTRY}")
string(REPLACE "|" ";" ITEM "${ENTRY}")
list(GET ITEM 0 VARIANT)
list(REMOVE_AT ITEM 0)
string(REPLACE ";" " " FLAGS "${ITEM}")
set(TARGET "check_${VARIANT}")
add_custom_target(${TARGET}
COMMAND ${ARM_GCC} ${FLAGS}
list(LENGTH VARIANTS VN)
math(EXPR VN "${VN} - 1")
foreach(I RANGE ${VN})
list(GET VARIANTS ${I} V)
list(GET FLAG_LIST ${I} F)
set(TGT "check_${V}")
add_custom_target(${TGT}
COMMAND ${ARM_GCC} ${F}
-c ${CMAKE_CURRENT_SOURCE_DIR}/datarouter.c
-I${CMAKE_CURRENT_SOURCE_DIR}
-o ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.o
COMMENT "Compile check: ${VARIANT} (${FLAGS})"
-o ${CMAKE_CURRENT_BINARY_DIR}/${TGT}.o
COMMENT "Compile check: ${V} (${F})"
)
message(STATUS " compile check: ${VARIANT} (make ${TARGET})")
message(STATUS " compile check: ${V} (make ${TGT})")
endforeach()
else()
message(WARNING "arm-none-eabi-gcc not found; skipping ARM compile checks")