From 530e4503c4418eb023491429316c7d5fc60973d9 Mon Sep 17 00:00:00 2001 From: XuqmGroup Date: Fri, 17 Jul 2026 13:59:03 +0800 Subject: [PATCH] fix(ci): keep alpha calculation CPS serializable --- Jenkinsfile | 13 +++++-------- docs/IMPLEMENTATION_HANDOFF.md | 1 + 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index ba814af..a539556 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -3,6 +3,7 @@ pipeline { environment { NEXUS_REGISTRY = 'https://nexus.xuqinmin.com/repository/npm-hosted/' + NEXUS_READ_REGISTRY = 'https://nexus.xuqinmin.com/repository/npm/' GIT_URL = 'https://xuqinmin.com/xuqmGroup/XuqmGroup-RNSDK.git' ANDROID_SDK_GIT_URL = 'https://xuqinmin.com/xuqmGroup/XuqmGroup-AndroidSDK.git' } @@ -85,21 +86,17 @@ pipeline { if (params.SNAPSHOT) { // SNAPSHOT:源码与 registry 都可能领先,必须取二者最大序号再递增。 def localAlphaNum = 0 - def localMatcher = (currentVer =~ /-alpha\.(\d+)$/) - if (localMatcher.find()) { - localAlphaNum = localMatcher.group(1).toInteger() + if (currentVer.matches(/.*-alpha\.\d+$/)) { + localAlphaNum = currentVer.tokenize('.').last().toInteger() } def remoteAlphaNum = 0 try { def remoteVer = bat( - script: "@npm view ${pkg} dist-tags.alpha --registry %NEXUS_REGISTRY% 2>nul", + script: "@npm view ${pkg} dist-tags.alpha --registry %NEXUS_READ_REGISTRY% 2>nul", returnStdout: true ).trim() if (remoteVer && remoteVer.matches(/.*-alpha\.\d+$/)) { - def matcher = (remoteVer =~ /-alpha\.(\d+)$/) - if (matcher.find()) { - remoteAlphaNum = matcher.group(1).toInteger() - } + remoteAlphaNum = remoteVer.tokenize('.').last().toInteger() } } catch (Exception e) { echo "Could not query remote version for ${pkg}; advancing from source version" diff --git a/docs/IMPLEMENTATION_HANDOFF.md b/docs/IMPLEMENTATION_HANDOFF.md index b912ad2..bcc3f7b 100644 --- a/docs/IMPLEMENTATION_HANDOFF.md +++ b/docs/IMPLEMENTATION_HANDOFF.md @@ -106,6 +106,7 @@ pnpm --dir packages/update test - `sdk-rn-publish #48` 在 Windows 棡出后因 8 个文件换行不一致被 Prettier 正确阻断,未发布任何包。 - 新增 `.gitattributes`,源码统一以 LF 检出;仅 `.bat` 保持 CRLF。 - alpha 版本号改为取源码现有序号与 Nexus 远端序号的最大值后加一,禁止版本倒退和重复发布。 +- `#49` 被 Jenkins CPS 的不可序列化正则 Matcher 阻断;算法改为只保留整数,并从 Nexus group 读标签、向 hosted 写制品。 ### 2026-07-17 / common 第一轮