This commit is contained in:
@@ -66,4 +66,20 @@ describe("manifest", () => {
|
||||
"32": "assets/icons/icon-32.png"
|
||||
});
|
||||
});
|
||||
|
||||
test("uses EXTENSION_VERSION for release builds", () => {
|
||||
const previousVersion = process.env.EXTENSION_VERSION;
|
||||
process.env.EXTENSION_VERSION = "v0.0525.1";
|
||||
|
||||
try {
|
||||
const releaseManifest = createManifest({ target: "release" });
|
||||
expect(releaseManifest.version).toBe("0.0525.1");
|
||||
} finally {
|
||||
if (previousVersion === undefined) {
|
||||
delete process.env.EXTENSION_VERSION;
|
||||
} else {
|
||||
process.env.EXTENSION_VERSION = previousVersion;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
import path from "node:path";
|
||||
import { describe, expect, test } from "vitest";
|
||||
|
||||
import { buildReleaseUploadTargets } from "../scripts/release-assets.mjs";
|
||||
|
||||
describe("release-assets", () => {
|
||||
test("maps release files to the COS object keys", () => {
|
||||
expect(
|
||||
buildReleaseUploadTargets({
|
||||
projectRoot: "/repo",
|
||||
releaseVersion: "0.0525.1"
|
||||
})
|
||||
).toEqual([
|
||||
{
|
||||
cosKey: "star-chart-search-enhancer/latest.json",
|
||||
localPath: path.join("/repo", "release", "latest.json")
|
||||
},
|
||||
{
|
||||
cosKey:
|
||||
"star-chart-search-enhancer/releases/0.0525.1/star-chart-search-enhancer-internal.zip",
|
||||
localPath: path.join("/repo", "release", "star-chart-search-enhancer-internal.zip")
|
||||
},
|
||||
{
|
||||
cosKey:
|
||||
"star-chart-search-enhancer/releases/0.0525.1/星图增强插件-超简单安装使用指南.pdf",
|
||||
localPath: path.join("/repo", "release", "星图增强插件-超简单安装使用指南.pdf")
|
||||
}
|
||||
]);
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,25 @@
|
||||
import { describe, expect, test } from "vitest";
|
||||
|
||||
import {
|
||||
normalizeReleaseVersionTag,
|
||||
resolveReleaseVersion
|
||||
} from "../scripts/release-version.mjs";
|
||||
|
||||
describe("release-version", () => {
|
||||
test("normalizes a tag by stripping a leading v", () => {
|
||||
expect(normalizeReleaseVersionTag("v0.0525.1")).toBe("0.0525.1");
|
||||
expect(normalizeReleaseVersionTag("0.0525.1")).toBe("0.0525.1");
|
||||
});
|
||||
|
||||
test("prefers EXTENSION_VERSION over DRONE_TAG and fallback", () => {
|
||||
expect(
|
||||
resolveReleaseVersion(
|
||||
{
|
||||
DRONE_TAG: "0.0525.2",
|
||||
EXTENSION_VERSION: "v0.0525.3"
|
||||
},
|
||||
"0.2.0421.2"
|
||||
)
|
||||
).toBe("0.0525.3");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user