From f8fdd854edf386cba78dadae0c77ff353b2193f0 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 20 Apr 2026 17:42:30 +0100 Subject: [PATCH] test: share clawhub release tooling fixture --- test/plugin-clawhub-release.test.ts | 52 ++++++++++++----------------- 1 file changed, 22 insertions(+), 30 deletions(-) diff --git a/test/plugin-clawhub-release.test.ts b/test/plugin-clawhub-release.test.ts index 0903c296657..dea2ab32da9 100644 --- a/test/plugin-clawhub-release.test.ts +++ b/test/plugin-clawhub-release.test.ts @@ -155,21 +155,7 @@ describe("collectClawHubVersionGateErrors", () => { it("does not require a version bump for shared release-tooling changes", () => { const repoDir = createTempPluginRepo(); - const baseRef = git(repoDir, ["rev-parse", "HEAD"]); - - mkdirSync(join(repoDir, "scripts"), { recursive: true }); - writeFileSync(join(repoDir, "scripts", "plugin-clawhub-publish.sh"), "#!/usr/bin/env bash\n"); - git(repoDir, ["add", "."]); - git(repoDir, [ - "-c", - "user.name=Test", - "-c", - "user.email=test@example.com", - "commit", - "-m", - "shared tooling", - ]); - const headRef = git(repoDir, ["rev-parse", "HEAD"]); + const { baseRef, headRef } = commitSharedReleaseToolingChange(repoDir); const errors = collectClawHubVersionGateErrors({ rootDir: repoDir, @@ -186,21 +172,7 @@ describe("resolveSelectedClawHubPublishablePluginPackages", () => { const repoDir = createTempPluginRepo({ extraExtensionIds: ["demo-two"], }); - const baseRef = git(repoDir, ["rev-parse", "HEAD"]); - - mkdirSync(join(repoDir, "scripts"), { recursive: true }); - writeFileSync(join(repoDir, "scripts", "plugin-clawhub-publish.sh"), "#!/usr/bin/env bash\n"); - git(repoDir, ["add", "."]); - git(repoDir, [ - "-c", - "user.name=Test", - "-c", - "user.email=test@example.com", - "commit", - "-m", - "shared tooling", - ]); - const headRef = git(repoDir, ["rev-parse", "HEAD"]); + const { baseRef, headRef } = commitSharedReleaseToolingChange(repoDir); const selected = resolveSelectedClawHubPublishablePluginPackages({ rootDir: repoDir, @@ -348,6 +320,26 @@ function createTempPluginRepo( return repoDir; } +function commitSharedReleaseToolingChange(repoDir: string) { + const baseRef = git(repoDir, ["rev-parse", "HEAD"]); + + mkdirSync(join(repoDir, "scripts"), { recursive: true }); + writeFileSync(join(repoDir, "scripts", "plugin-clawhub-publish.sh"), "#!/usr/bin/env bash\n"); + git(repoDir, ["add", "."]); + git(repoDir, [ + "-c", + "user.name=Test", + "-c", + "user.email=test@example.com", + "commit", + "-m", + "shared tooling", + ]); + const headRef = git(repoDir, ["rev-parse", "HEAD"]); + + return { baseRef, headRef }; +} + function git(cwd: string, args: string[]) { return execFileSync("git", ["-C", cwd, ...args], { encoding: "utf8",