更新 CI 服务器以匹配新的发布模型 #1
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
如果我们使用了新的发布模型,那么 CI 服务器也需要进行一些更新来匹配这个发布模型。
我提议删除
hmcl_update_link.csv
,并使用两个新的文件来控制更新:build.csv
和update.csv
(能改成 JSON 或 TOML 的话就更好了)。build.csv
用来控制构建流程,内容如下:开发版使用
HMCL-dev/HMCL
仓库的release
分支进行发布,并且废弃现在所用的javafx
分支(当时选择这个分支的原因是不用改 CI 服务器的配置,现在不用担心这个了);稳定版使用
HMCL-dev/HMCL-stable
仓库的release/x.y
分支开发版的版本号会在对应的
hmcl_dev_version_root
后附加 CI 的构建号,而稳定版的版本号使用hmcl_stable_version_build_number
作为构建号。update.csv
用来发布更新,https://hmcl.huangyuhui.net/download/ 的开发版下载链接最好也遵循这个文件的配置。这个文件内容如下:其中
${version_type}
可能是以下内容:stable
stable_preview
dev
dev_preview
带有
_preview
的 version_type 代表预发布版,仅推送给开启了接受预览更新的用户。接受预览更新的用户在请求更新 API 时会在请求链接中附加一个新的参数preview=true
,类似这样:stable_preview
和dev_preview
对应的数据可以空缺,若是空缺则说明当前没有预发布版,服务器应当忽略用户请求时的preview=true
参数,直接返回stable
和dev
的版本信息。若是存在
stable_preview
和dev_preview
,则更新服务器返回的 JSON 中应当包含字段HMCL 将通过该字段决定是否要展示预览版的 changlog。
此外,
hmcl_${version_type}_force
也是可选的,仅在出现了严重问题,需要强行让用户降级更新时才会填这条数据。