@kungfu-tech/buildchain 2.11.1-alpha.2 → 2.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,7 @@
4
4
  "product": {
5
5
  "name": "Buildchain",
6
6
  "package": "@kungfu-tech/buildchain",
7
- "version": "2.11.1-alpha.2",
7
+ "version": "2.11.1",
8
8
  "repository": "https://github.com/kungfu-systems/buildchain"
9
9
  },
10
10
  "majorLine": "v2",
@@ -460,5 +460,5 @@
460
460
  }
461
461
  ],
462
462
  "compatibilityDigest": "sha256:967df7e854fdf582294ddfb6403eff25c00db9518a24051e7d47cbd75527c785",
463
- "contractDigest": "sha256:4057e088a44f8e01ec18f405e35cb0af81f2aebb7d77a019b2f159961277ca81"
463
+ "contractDigest": "sha256:3492a69ad5e95953d78aa3f4418b205c551e75430afcf5f00f8d5da356bc5207"
464
464
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-site-bundle",
4
- "generatedAt": "2026-07-09T10:17:37.497Z",
5
- "publishedAt": "2026-07-09T10:17:37.497Z",
4
+ "generatedAt": "2026-07-09T11:53:37.992Z",
5
+ "publishedAt": "2026-07-09T11:53:37.992Z",
6
6
  "reproducible": true,
7
7
  "timestampPolicy": "ci-injected",
8
8
  "deterministicInputs": [
@@ -19,7 +19,7 @@
19
19
  "declared Buildchain surface manifest contract"
20
20
  ],
21
21
  "sourceDateEpoch": "0",
22
- "sourceRevision": "85d3b04ebed5b161f019095bdb5ff5e18d4513db",
22
+ "sourceRevision": "eca0282a03517a31383b533e27a7ee09c46a8392",
23
23
  "timestampPolicyDetails": {
24
24
  "contract": "kungfu-buildchain-surface-timestamp-policy",
25
25
  "timestampFields": [
@@ -37,7 +37,7 @@
37
37
  },
38
38
  "package": {
39
39
  "name": "@kungfu-tech/buildchain",
40
- "version": "2.11.1-alpha.2",
40
+ "version": "2.11.1",
41
41
  "versionSource": "package.json#version"
42
42
  },
43
43
  "source": {
@@ -4,7 +4,7 @@
4
4
  "product": {
5
5
  "id": "kungfu-tech-buildchain",
6
6
  "name": "@kungfu-tech/buildchain",
7
- "version": "2.11.1-alpha.2",
7
+ "version": "2.11.1",
8
8
  "repository": "https://github.com/kungfu-systems/buildchain"
9
9
  },
10
10
  "source": {
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-site-manifest",
4
- "generatedAt": "2026-07-09T10:17:37.497Z",
5
- "publishedAt": "2026-07-09T10:17:37.497Z",
4
+ "generatedAt": "2026-07-09T11:53:37.992Z",
5
+ "publishedAt": "2026-07-09T11:53:37.992Z",
6
6
  "reproducible": true,
7
7
  "timestampPolicy": "ci-injected",
8
8
  "deterministicInputs": [
@@ -19,7 +19,7 @@
19
19
  "declared Buildchain surface manifest contract"
20
20
  ],
21
21
  "sourceDateEpoch": "0",
22
- "sourceRevision": "85d3b04ebed5b161f019095bdb5ff5e18d4513db",
22
+ "sourceRevision": "eca0282a03517a31383b533e27a7ee09c46a8392",
23
23
  "timestampPolicyDetails": {
24
24
  "contract": "kungfu-buildchain-surface-timestamp-policy",
25
25
  "timestampFields": [
@@ -37,7 +37,7 @@
37
37
  },
38
38
  "package": {
39
39
  "name": "@kungfu-tech/buildchain",
40
- "version": "2.11.1-alpha.2",
40
+ "version": "2.11.1",
41
41
  "versionSource": "package.json#version"
42
42
  },
43
43
  "entrypoint": "buildchain-site.json",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kungfu-tech/buildchain",
3
- "version": "2.11.1-alpha.2",
3
+ "version": "2.11.1",
4
4
  "private": false,
5
5
  "description": "Buildchain Release Passport, release governance, CLI toolkit, and site facts.",
6
6
  "repository": "https://github.com/kungfu-systems/buildchain",
@@ -57,9 +57,24 @@ export function parseReleaseLineRecoveryRef(ref) {
57
57
  };
58
58
  }
59
59
 
60
+ export function parsePublishGateChannelRef(ref) {
61
+ const normalizedRef = normalizeRef(ref);
62
+ const match = normalizedRef.match(/^publish-gate\/(alpha|release)\/(v(\d+)\/v(\d+\.\d+))\/[^/]+$/);
63
+ if (!match) return undefined;
64
+ return {
65
+ channel: match[1],
66
+ major: Number(match[3]),
67
+ loose: Number(match[4]),
68
+ normalizedRef: `${match[1]}/${match[2]}`,
69
+ lineSuffix: `/${match[2]}`,
70
+ };
71
+ }
72
+
60
73
  export function getChannel(ref) {
61
74
  const versionStateTarget = parseVersionStateRef(ref);
62
75
  if (versionStateTarget) return versionStateTarget.channel;
76
+ const publishGateTarget = parsePublishGateChannelRef(ref);
77
+ if (publishGateTarget) return publishGateTarget.channel;
63
78
  const normalizedRef = normalizeRef(ref);
64
79
  if (isMajorGateRef(normalizedRef)) return MAJOR_GATE_CHANNEL;
65
80
  return normalizedRef.split("/")[0];
@@ -68,6 +83,8 @@ export function getChannel(ref) {
68
83
  export function getLineSuffix(ref, channel) {
69
84
  const versionStateTarget = parseVersionStateRef(ref);
70
85
  if (versionStateTarget) return versionStateTarget.lineSuffix;
86
+ const publishGateTarget = parsePublishGateChannelRef(ref);
87
+ if (publishGateTarget) return publishGateTarget.lineSuffix;
71
88
  if (isMajorGateRef(ref)) return "";
72
89
  return normalizeRef(ref).replace(channel, "");
73
90
  }
@@ -98,6 +115,7 @@ export function getBumpKeyword({ cwd = process.cwd(), headRef, baseRef, loose =
98
115
  const lastLooseVersionNumber = Number((looseVersionNumber - 0.1).toFixed(1));
99
116
  const versionStateTarget = parseVersionStateRef(headRef);
100
117
  const releaseLineRecoveryTarget = parseReleaseLineRecoveryRef(headRef);
118
+ const publishGateTarget = parsePublishGateChannelRef(headRef);
101
119
  const headChannel = getChannel(headRef);
102
120
  const baseChannel = getChannel(baseRef);
103
121
  const key = `${headChannel}->${baseChannel}`;
@@ -123,6 +141,17 @@ export function getBumpKeyword({ cwd = process.cwd(), headRef, baseRef, loose =
123
141
  return "patch";
124
142
  }
125
143
 
144
+ if (publishGateTarget) {
145
+ if (publishGateTarget.channel !== baseChannel || publishGateTarget.normalizedRef !== normalizeRef(baseRef)) {
146
+ throw new Error(`Versions not match for head/base refs: ${headRef} -> ${baseRef}`);
147
+ }
148
+ const mismatchMsg = `The version of head ref ${headRef} does not match current ${version.version}`;
149
+ if (publishGateTarget.major !== version.major || publishGateTarget.loose !== looseVersionNumber) {
150
+ throw new Error(mismatchMsg);
151
+ }
152
+ return baseChannel === "release" ? "patch" : "prerelease";
153
+ }
154
+
126
155
  if (getLineSuffix(headRef, headChannel) !== getLineSuffix(baseRef, baseChannel) && !preminor && !majorGate) {
127
156
  throw new Error(`Versions not match for head/base refs: ${headRef} -> ${baseRef}`);
128
157
  }