mirror of
https://github.com/certd/certd.git
synced 2026-07-17 03:17:34 +08:00
perf: 增加稳定版,预览版区分,预览版是最新版,稳定版在预览版验证稳定后,再将预览版转为稳定版
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
import axios from "axios";
|
||||
|
||||
const AtomgitAccessToken = process.env.ATOMGIT_TOKEN;
|
||||
const Version = process.env.VERSION;
|
||||
|
||||
if (!AtomgitAccessToken) {
|
||||
console.error("错误: 请设置环境变量 ATOMGIT_TOKEN");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if (!Version) {
|
||||
console.error("错误: 请设置环境变量 VERSION (如 v1.42.5)");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const API_BASE = "https://api.atomgit.com/api/v5/repos/certd/certd";
|
||||
|
||||
async function main() {
|
||||
try {
|
||||
// GET 当前 release
|
||||
const getResp = await axios.request({
|
||||
method: "GET",
|
||||
url: `${API_BASE}/releases/${encodeURIComponent(Version)}`,
|
||||
params: { access_token: AtomgitAccessToken },
|
||||
});
|
||||
|
||||
const release = getResp.data;
|
||||
console.log(`Current release: ${release.tag_name}, status: ${release.release_status}`);
|
||||
|
||||
if (release.release_status === "latest") {
|
||||
console.log("Already stable, skipping");
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
// PATCH 设为 latest
|
||||
const patchResp = await axios.request({
|
||||
method: "PATCH",
|
||||
url: `${API_BASE}/releases/${encodeURIComponent(Version)}`,
|
||||
headers: { "Content-Type": "application/json" },
|
||||
params: { access_token: AtomgitAccessToken },
|
||||
data: {
|
||||
name: release.name,
|
||||
body: release.body,
|
||||
release_status: "latest",
|
||||
},
|
||||
});
|
||||
|
||||
console.log(`Done! ${Version} is now stable: status=${patchResp.data.release_status}`);
|
||||
} catch (error) {
|
||||
if (error?.response?.data) {
|
||||
console.error("请求失败:", JSON.stringify(error.response.data, null, 2));
|
||||
} else {
|
||||
console.error("请求失败:", error.message || error);
|
||||
}
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
Reference in New Issue
Block a user