fix(builder): 版本时间格式改回 YYYYMMDDTHHMM
按要求保留字母分隔符:20260918T1722。分钟精度不变,同一分支同日多次 构建仍能正确排序。 记录切换边界:Debian 里字母排在标点之前,YYYYMMDDT… 小于旧格式的 YYYYMMDD.…,切换当天同日的旧格式包会压住新包,需要在仓库里把那些旧包 移除或停用;次日新格式始终更大。回归测试显式断言这行边界。
This commit is contained in:
@@ -102,13 +102,13 @@ bugfix 测试包;同号正式版仍盖住测试。不要写成 `1.4.2~…`(
|
||||
`1.4.3`)。日期必须写在 `~` 之后。Docker tag 不得含 `~`、`/`、`:`,由规范
|
||||
版本把 `~` → `-`、`+g` → `.g`。
|
||||
|
||||
`<date>`:`YYYYMMDDHHMM`,构建的日期加分钟,中间不加分隔符。加分钟是
|
||||
为了同一天重复构建也能排序:只写到日期时,同分支同日的版本前缀完全相
|
||||
同,只剩 `+g<sha>` 可区分,而 Debian 把哈希当普通文本比较,新构建可能
|
||||
排到旧构建下面(`apt upgrade` 因此看不到最新包)。不能写成
|
||||
`YYYYMMDDTHHMM`:Debian 版本比较里字母排在标点之前,带 `T` 的版本会小于
|
||||
同日旧格式包的 `YYYYMMDD.…`。已设 `SOURCE_DATE_EPOCH` 时用该时刻的 UTC
|
||||
时间,否则用本机当前时间。正式 `X.Y.Z` 不加日期。
|
||||
`<date>`:`YYYYMMDDTHHMM`,构建的日期加分钟。加分钟是为了同一天重复构建
|
||||
也能排序:只写到日期时,同分支同日的版本前缀完全相同,只剩 `+g<sha>` 可
|
||||
区分,而 Debian 把哈希当普通文本比较,新构建可能排到旧构建下面(
|
||||
`apt upgrade` 因此看不到最新包)。已设 `SOURCE_DATE_EPOCH` 时用该时刻的
|
||||
UTC 时间,否则用本机当前时间。正式 `X.Y.Z` 不加日期。切换格式当天注意:
|
||||
Debian 把字母排在标点之前,`YYYYMMDDT…` 小于旧格式的 `YYYYMMDD.…`,同日
|
||||
已上传的旧格式包会压住新包,需要把它们在仓库里移除或停用;次日恢复正常。
|
||||
`<branch>`:`git rev-parse --abbrev-ref HEAD`,detached 时用
|
||||
`BUILD_BRANCH` / `CI_COMMIT_BRANCH` / `GITHUB_REF_NAME`,再没有则
|
||||
`detached`。清洗:小写;`/`、`_` → `-`;去掉非 `[a-z0-9-]`;压缩连续
|
||||
|
||||
Reference in New Issue
Block a user