@rightkit/git 0.2.10 → 0.2.12
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.
package/cli/right-git.mjs
CHANGED
|
File without changes
|
package/manifest.mjs
CHANGED
|
@@ -641,7 +641,8 @@ function releaseChainJobs(manifest, pm, artifactPrefix) {
|
|
|
641
641
|
- name: Fail closed when protected finalization is absent
|
|
642
642
|
if: \${{ needs.windows-sign.result != 'success' }}
|
|
643
643
|
shell: pwsh
|
|
644
|
-
run:
|
|
644
|
+
run: |
|
|
645
|
+
throw 'installed_qualification_failed { reason: prerequisites_absent, detail: "same-run Windows signing/finalization did not succeed" }'
|
|
645
646
|
- name: Download same-run finalized Windows release
|
|
646
647
|
uses: actions/download-artifact@${DOWNLOAD_ARTIFACT_SHA} # v4.3.0
|
|
647
648
|
with:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rightkit/git",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.12",
|
|
4
4
|
"description": "Public-repo-only GitHub Actions workflow layer: templates, visibility gate, sync/drift/adopt/uninstall for right-git.",
|
|
5
5
|
"license": "MIT OR Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -15,6 +15,9 @@
|
|
|
15
15
|
"*.json"
|
|
16
16
|
],
|
|
17
17
|
"sideEffects": false,
|
|
18
|
+
"scripts": {
|
|
19
|
+
"test": "node --test *.test.mjs"
|
|
20
|
+
},
|
|
18
21
|
"publishConfig": {
|
|
19
22
|
"registry": "https://registry.npmjs.org/",
|
|
20
23
|
"access": "public"
|
|
@@ -24,7 +27,5 @@
|
|
|
24
27
|
"url": "git+https://github.com/bogusyogi/claude.git",
|
|
25
28
|
"directory": "tools/rightkit/packages/git"
|
|
26
29
|
},
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
}
|
|
30
|
+
"packageManager": "pnpm@11.24.0"
|
|
31
|
+
}
|
package/render.test.mjs
CHANGED
|
@@ -50,6 +50,8 @@ test("rust-hybrid ci renders its pinned package manager and gate", () => {
|
|
|
50
50
|
assert.match(content, /version: 11\.24\.0/);
|
|
51
51
|
assert.match(content, /toolchain: 1\.98\.0/);
|
|
52
52
|
assert.match(content, /bash \.\/scripts\/gate\.sh/);
|
|
53
|
+
assert.match(content, /os: \["windows-2025"\]/);
|
|
54
|
+
assert.doesNotMatch(content, /ubuntu-latest|macos-latest/);
|
|
53
55
|
});
|
|
54
56
|
|
|
55
57
|
test("rust-hybrid release candidate renders product scripts, artifact handoff, and no signing secret", () => {
|
|
@@ -67,6 +69,7 @@ test("rust-hybrid release candidate renders product scripts, artifact handoff, a
|
|
|
67
69
|
);
|
|
68
70
|
assert.match(content, /pnpm run ci:candidate/);
|
|
69
71
|
assert.match(content, /pnpm run ci:candidate-check/);
|
|
72
|
+
assert.ok(content.indexOf("bash ./scripts/gate.sh") < content.indexOf("Build unsigned release candidate"));
|
|
70
73
|
assert.match(content, /RIGHT_GIT_ARTIFACT_ROOT/);
|
|
71
74
|
assert.match(content, /os: "macos-latest"/);
|
|
72
75
|
assert.match(content, /platform: "windows"/);
|
|
@@ -162,6 +165,8 @@ test("rust-hybrid multi-architecture candidates bind every native target to exac
|
|
|
162
165
|
assert.match(content, new RegExp(`targetTriple: ${JSON.stringify(triple).replace(/[.*+?^${}()|[\\]\\]/g, "\\$&")}`));
|
|
163
166
|
}
|
|
164
167
|
assert.match(content, /targets: \$\{\{ matrix\.targetTriple \}\}/);
|
|
168
|
+
assert.equal((content.match(/bash \.\/scripts\/gate\.sh/g) ?? []).length, 1);
|
|
169
|
+
assert.ok(content.indexOf("bash ./scripts/gate.sh") < content.indexOf("Build unsigned release candidate"));
|
|
165
170
|
assert.match(content, /windows-sign:[\s\S]*matrix:[\s\S]*windows-11-arm/);
|
|
166
171
|
assert.match(content, /macos-sign:[\s\S]*matrix:[\s\S]*macos-15-intel/);
|
|
167
172
|
assert.match(content, /name: widgets-unsigned-\$\{\{ matrix\.platform \}\}-\$\{\{ matrix\.architecture \}\}-22\.23\.2/);
|
|
@@ -203,6 +208,8 @@ test("rust-hybrid release chain preserves signed candidate, installed qualificat
|
|
|
203
208
|
assert.match(content, /macos-sign:[\s\S]*pnpm run release:finalize:mac/);
|
|
204
209
|
assert.match(content, /installed-qualification:\n needs: \[candidate, windows-sign\]/);
|
|
205
210
|
assert.match(content, /installed_qualification_failed/);
|
|
211
|
+
assert.match(content, /shell: pwsh\n run: \|\n throw 'installed_qualification_failed \{ reason: prerequisites_absent, detail: "same-run Windows signing\/finalization did not succeed" \}'/);
|
|
212
|
+
assert.doesNotMatch(content, /^ run: throw 'installed_qualification_failed .*detail: /m);
|
|
206
213
|
assert.match(content, /pnpm run release:qualify:installed/);
|
|
207
214
|
assert.match(content, /publish:\n needs: \[installed-qualification, macos-sign\]/);
|
|
208
215
|
assert.match(content, /needs\.macos-sign\.result == 'success'/);
|
|
@@ -19,7 +19,9 @@ jobs:
|
|
|
19
19
|
strategy:
|
|
20
20
|
fail-fast: false
|
|
21
21
|
matrix:
|
|
22
|
-
|
|
22
|
+
# Full validation stays on one Windows runner; release-candidate
|
|
23
|
+
# validates every native target before it builds that target.
|
|
24
|
+
os: ["windows-2025"]
|
|
23
25
|
node: ${NODE_MATRIX}
|
|
24
26
|
runs-on: ${{ matrix.os }}
|
|
25
27
|
steps:
|
|
@@ -38,6 +38,8 @@ ${PACKAGE_MANAGER_SETUP}
|
|
|
38
38
|
- uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
|
|
39
39
|
with:
|
|
40
40
|
workspaces: engine
|
|
41
|
+
- name: Run full CI validation
|
|
42
|
+
run: bash ./${GATE_PATH}
|
|
41
43
|
- run: ${INSTALL_COMMAND}
|
|
42
44
|
- name: Build unsigned release candidate
|
|
43
45
|
run: ${PM_RUN} ${CANDIDATE_BUILD_SCRIPT}
|