mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2024-11-16 11:42:21 +08:00
chore: update log supports
This commit is contained in:
parent
ab0d516d91
commit
6a4924bb16
11
UPDATELOG.md
Normal file
11
UPDATELOG.md
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
## v0.0.23
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
- i18n supports
|
||||||
|
- Remote profile User Agent supports
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- clash config file case ignore
|
||||||
|
- clash `external-controller` only port
|
|
@ -1,9 +1,11 @@
|
||||||
import fs from "fs-extra";
|
import fs from "fs-extra";
|
||||||
import { createRequire } from "module";
|
import { createRequire } from "module";
|
||||||
import { execSync } from "child_process";
|
import { execSync } from "child_process";
|
||||||
|
import { resolveUpdateLog } from "./updatelog.mjs";
|
||||||
|
|
||||||
const require = createRequire(import.meta.url);
|
const require = createRequire(import.meta.url);
|
||||||
|
|
||||||
|
// publish
|
||||||
async function resolvePublish() {
|
async function resolvePublish() {
|
||||||
const flag = process.argv[2] ?? "patch";
|
const flag = process.argv[2] ?? "patch";
|
||||||
const packageJson = require("../package.json");
|
const packageJson = require("../package.json");
|
||||||
|
@ -26,6 +28,10 @@ async function resolvePublish() {
|
||||||
packageJson.version = nextVersion;
|
packageJson.version = nextVersion;
|
||||||
tauriJson.package.version = nextVersion;
|
tauriJson.package.version = nextVersion;
|
||||||
|
|
||||||
|
// 发布更新前先写更新日志
|
||||||
|
const nextTag = `v${nextVersion}`;
|
||||||
|
await resolveUpdateLog(nextTag);
|
||||||
|
|
||||||
await fs.writeFile(
|
await fs.writeFile(
|
||||||
"./package.json",
|
"./package.json",
|
||||||
JSON.stringify(packageJson, undefined, 2)
|
JSON.stringify(packageJson, undefined, 2)
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import fetch from "node-fetch";
|
import fetch from "node-fetch";
|
||||||
import { getOctokit, context } from "@actions/github";
|
import { getOctokit, context } from "@actions/github";
|
||||||
|
import { resolveUpdateLog } from "./updatelog.mjs";
|
||||||
|
|
||||||
const UPDATE_TAG_NAME = "updater";
|
const UPDATE_TAG_NAME = "updater";
|
||||||
const UPDATE_JSON_FILE = "update.json";
|
const UPDATE_JSON_FILE = "update.json";
|
||||||
|
@ -34,7 +35,7 @@ async function resolveRelease() {
|
||||||
|
|
||||||
const updateData = {
|
const updateData = {
|
||||||
name: tag.name,
|
name: tag.name,
|
||||||
notes: latestRelease.body, // use the release body directly
|
notes: await resolveUpdateLog(tag.name), // use updatelog.md
|
||||||
pub_date: new Date().toISOString(),
|
pub_date: new Date().toISOString(),
|
||||||
platforms: {
|
platforms: {
|
||||||
win64: { signature: "", url: "" },
|
win64: { signature: "", url: "" },
|
||||||
|
|
44
scripts/updatelog.mjs
Normal file
44
scripts/updatelog.mjs
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
import fs from "fs-extra";
|
||||||
|
import path from "path";
|
||||||
|
|
||||||
|
const UPDATE_LOG = "UPDATELOG.md";
|
||||||
|
|
||||||
|
// parse the UPDATELOG.md
|
||||||
|
export async function resolveUpdateLog(tag) {
|
||||||
|
const cwd = process.cwd();
|
||||||
|
|
||||||
|
const reTitle = /^## v[\d\.]+/;
|
||||||
|
const reEnd = /^---/;
|
||||||
|
|
||||||
|
const file = path.join(cwd, UPDATE_LOG);
|
||||||
|
|
||||||
|
if (!(await fs.pathExists(file))) {
|
||||||
|
throw new Error("could not found UPDATELOG.md");
|
||||||
|
}
|
||||||
|
|
||||||
|
const data = await fs.readFile(file).then((d) => d.toString("utf8"));
|
||||||
|
|
||||||
|
const map = {};
|
||||||
|
let p = "";
|
||||||
|
|
||||||
|
data.split("\n").forEach((line) => {
|
||||||
|
if (reTitle.test(line)) {
|
||||||
|
p = line.slice(3).trim();
|
||||||
|
if (!map[p]) {
|
||||||
|
map[p] = [];
|
||||||
|
} else {
|
||||||
|
throw new Error(`Tag ${p} dup`);
|
||||||
|
}
|
||||||
|
} else if (reEnd.test(line)) {
|
||||||
|
p = "";
|
||||||
|
} else if (p) {
|
||||||
|
map[p].push(line);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!map[tag]) {
|
||||||
|
throw new Error(`could not found "${tag}" in UPDATELOG.md`);
|
||||||
|
}
|
||||||
|
|
||||||
|
return map[tag].join("\n").trim();
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user