@rightkit/git 0.2.17 → 0.2.18

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/manifest.mjs CHANGED
@@ -756,9 +756,12 @@ export function buildRenderContext(manifest, repoPath) {
756
756
  const projectName = deriveProjectName(repoPath);
757
757
  const artifactPrefix = projectName.toLowerCase().replace(/[^a-z0-9-]+/g, "-");
758
758
  const rustWorkspaces = manifest.rustCache?.workspaces ?? ["engine"];
759
+ const configuredWindowsRunner = manifest.matrix.os.find((runner) => runner.startsWith("windows-"));
760
+ const ciOs = configuredWindowsRunner ?? manifest.matrix.os[0];
759
761
 
760
762
  const context = {
761
763
  OS_MATRIX: yamlFlowStringList(manifest.matrix.os),
764
+ CI_OS_MATRIX: yamlFlowStringList([ciOs]),
762
765
  NODE_MATRIX: yamlFlowStringList(manifest.matrix.node),
763
766
  NODE_PUBLISH_VERSION: JSON.stringify(String(manifest.matrix.node[0])),
764
767
  PM_NAME: pm.name,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rightkit/git",
3
- "version": "0.2.17",
3
+ "version": "0.2.18",
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",
package/render.test.mjs CHANGED
@@ -50,10 +50,26 @@ 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"\]/);
53
+ assert.match(content, /os: \["windows-latest"\]/);
54
54
  assert.doesNotMatch(content, /ubuntu-latest|macos-latest/);
55
55
  });
56
56
 
57
+ test("rust-hybrid ci preserves a declared macOS-only lane", () => {
58
+ const manifest = {
59
+ ...FULL_MANIFEST,
60
+ lanes: ["ci"],
61
+ profile: "rust-hybrid",
62
+ gate: { path: "scripts/gate.sh" },
63
+ matrix: { os: ["macos-14"], node: ["26.8.1"] },
64
+ };
65
+ const content = renderTemplate(
66
+ fs.readFileSync(path.join(templatesDir, "profiles/rust-hybrid/ci.yml"), "utf8"),
67
+ buildRenderContext(manifest, "/repos/widgets"),
68
+ );
69
+ assert.match(content, /os: \["macos-14"\]/);
70
+ assert.doesNotMatch(content, /windows-2025/);
71
+ });
72
+
57
73
  test("rust-hybrid release candidate renders product scripts, artifact handoff, and no signing secret", () => {
58
74
  const manifest = {
59
75
  ...FULL_MANIFEST,
@@ -22,9 +22,9 @@ jobs:
22
22
  strategy:
23
23
  fail-fast: false
24
24
  matrix:
25
- # Full validation stays on one Windows runner; release-candidate
26
- # validates every native target before it builds that target.
27
- os: ["windows-2025"]
25
+ # Full validation stays on one declared runner; prefer configured
26
+ # Windows when available, otherwise preserve first configured OS.
27
+ os: ${CI_OS_MATRIX}
28
28
  node: ${NODE_MATRIX}
29
29
  runs-on: ${{ matrix.os }}
30
30
  steps: