@rightkit/git 0.2.17 → 0.2.19

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
@@ -486,7 +486,6 @@ ${signingMatrix(manifest, "windows")}
486
486
  ${pm.setup}
487
487
  - uses: dtolnay/rust-toolchain@f8be11a05b1d4f3fcebe6410cc16743212b999b0
488
488
  with:
489
- toolchain: 1.98.0
490
489
  targets: \${{ matrix.targetTriple }}
491
490
  - run: ${pm.installCommand}
492
491
  - name: Download exact unsigned Windows candidate
@@ -575,7 +574,6 @@ ${signingMatrix(manifest, "macos")}
575
574
  ${pm.setup}
576
575
  - uses: dtolnay/rust-toolchain@f8be11a05b1d4f3fcebe6410cc16743212b999b0
577
576
  with:
578
- toolchain: 1.98.0
579
577
  targets: \${{ matrix.targetTriple }}
580
578
  - run: ${pm.installCommand}
581
579
  - name: Download exact unsigned macOS candidate
@@ -756,9 +754,12 @@ export function buildRenderContext(manifest, repoPath) {
756
754
  const projectName = deriveProjectName(repoPath);
757
755
  const artifactPrefix = projectName.toLowerCase().replace(/[^a-z0-9-]+/g, "-");
758
756
  const rustWorkspaces = manifest.rustCache?.workspaces ?? ["engine"];
757
+ const configuredWindowsRunner = manifest.matrix.os.find((runner) => runner.startsWith("windows-"));
758
+ const ciOs = configuredWindowsRunner ?? manifest.matrix.os[0];
759
759
 
760
760
  const context = {
761
761
  OS_MATRIX: yamlFlowStringList(manifest.matrix.os),
762
+ CI_OS_MATRIX: yamlFlowStringList([ciOs]),
762
763
  NODE_MATRIX: yamlFlowStringList(manifest.matrix.node),
763
764
  NODE_PUBLISH_VERSION: JSON.stringify(String(manifest.matrix.node[0])),
764
765
  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.19",
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
@@ -46,14 +46,32 @@ test("rust-hybrid ci renders its pinned package manager and gate", () => {
46
46
  const manifest = { ...FULL_MANIFEST, lanes: ["ci"], profile: "rust-hybrid", gate: { path: "scripts/gate.sh" }, templateVersion: "1.1.0" };
47
47
  const content = renderTemplate(fs.readFileSync(path.join(templatesDir, "profiles/rust-hybrid/ci.yml"), "utf8"), buildRenderContext(manifest, "/repos/widgets"));
48
48
  assert.match(content, /uses: pnpm\/action-setup@[a-f0-9]{40}/);
49
+ assert.match(content, /fetch-depth: 0/);
49
50
  assert.match(content, /^name: widgets-ci$/m);
50
51
  assert.match(content, /version: 11\.24\.0/);
51
- assert.match(content, /toolchain: 1\.98\.0/);
52
+ assert.match(content, /components: rustfmt, clippy/);
53
+ assert.doesNotMatch(content, /toolchain:/);
52
54
  assert.match(content, /bash \.\/scripts\/gate\.sh/);
53
- assert.match(content, /os: \["windows-2025"\]/);
55
+ assert.match(content, /os: \["windows-latest"\]/);
54
56
  assert.doesNotMatch(content, /ubuntu-latest|macos-latest/);
55
57
  });
56
58
 
59
+ test("rust-hybrid ci preserves a declared macOS-only lane", () => {
60
+ const manifest = {
61
+ ...FULL_MANIFEST,
62
+ lanes: ["ci"],
63
+ profile: "rust-hybrid",
64
+ gate: { path: "scripts/gate.sh" },
65
+ matrix: { os: ["macos-14"], node: ["26.8.1"] },
66
+ };
67
+ const content = renderTemplate(
68
+ fs.readFileSync(path.join(templatesDir, "profiles/rust-hybrid/ci.yml"), "utf8"),
69
+ buildRenderContext(manifest, "/repos/widgets"),
70
+ );
71
+ assert.match(content, /os: \["macos-14"\]/);
72
+ assert.doesNotMatch(content, /windows-2025/);
73
+ });
74
+
57
75
  test("rust-hybrid release candidate renders product scripts, artifact handoff, and no signing secret", () => {
58
76
  const manifest = {
59
77
  ...FULL_MANIFEST,
@@ -22,13 +22,15 @@ 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:
31
31
  - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
32
+ with:
33
+ fetch-depth: 0
32
34
  - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
33
35
  with:
34
36
  node-version: ${{ matrix.node }}
@@ -36,7 +38,6 @@ jobs:
36
38
  ${PACKAGE_MANAGER_SETUP}
37
39
  - uses: dtolnay/rust-toolchain@f8be11a05b1d4f3fcebe6410cc16743212b999b0
38
40
  with:
39
- toolchain: 1.98.0
40
41
  components: rustfmt, clippy
41
42
  - uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
42
43
  with:
@@ -34,6 +34,8 @@ ${CANDIDATE_MATRIX}
34
34
  runs-on: ${{ matrix.os }}
35
35
  steps:
36
36
  - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
37
+ with:
38
+ fetch-depth: 0
37
39
  - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
38
40
  with:
39
41
  node-version: ${{ matrix.node }}
@@ -41,7 +43,6 @@ ${CANDIDATE_MATRIX}
41
43
  ${PACKAGE_MANAGER_SETUP}
42
44
  - uses: dtolnay/rust-toolchain@f8be11a05b1d4f3fcebe6410cc16743212b999b0
43
45
  with:
44
- toolchain: 1.98.0
45
46
  components: rustfmt, clippy
46
47
  targets: ${{ matrix.targetTriple }}
47
48
  - uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2