diff --git a/.github/scripts/bump-agent-versions.mjs b/.github/scripts/bump-agent-versions.mjs index a61dd5de7..aed70adc1 100644 --- a/.github/scripts/bump-agent-versions.mjs +++ b/.github/scripts/bump-agent-versions.mjs @@ -38,10 +38,16 @@ function fileContainsCommonDependency(path, moduleExists, readModuleFile) { return /project\(\s*['"]:common['"]\s*\)/.test(source); } +const nativeDriverDirectories = { + oracle: "oracle-go", + kingbase: "kingbase-go", +}; + function resolveAgentModule(moduleName, { legacyStandaloneModules, moduleExists, readModuleFile }) { let checkDir = null; - if (moduleName === "oracle" && moduleExists("agents/drivers/oracle-go")) { - checkDir = "drivers/oracle-go"; + const nativeDriverDirectory = nativeDriverDirectories[moduleName]; + if (nativeDriverDirectory && moduleExists(`agents/drivers/${nativeDriverDirectory}`)) { + checkDir = `drivers/${nativeDriverDirectory}`; } else if (moduleExists(`agents/drivers/${moduleName}`)) { checkDir = `drivers/${moduleName}`; } else if (moduleExists(`agents/${moduleName}`) || moduleName === "common") { diff --git a/packages/app-tests/agentVersionBump.test.ts b/packages/app-tests/agentVersionBump.test.ts index 067309fab..c072b0ea9 100644 --- a/packages/app-tests/agentVersionBump.test.ts +++ b/packages/app-tests/agentVersionBump.test.ts @@ -101,6 +101,27 @@ test("native agent source changes still bump native module versions", () => { }); }); +test("Kingbase native Go source changes bump the Kingbase module version", () => { + const fixture = moduleFixture([ + "agents/drivers/kingbase", + "agents/drivers/kingbase/build.gradle", + "agents/drivers/kingbase-go", + ]); + + const result = evaluateAgentVersionBump({ + versions: { + kingbase: "0.1.34", + }, + changedFiles: ["agents/drivers/kingbase-go/main.go"], + ...fixture, + }); + + assert.equal(result.changed, true); + assert.deepEqual(result.versions, { + kingbase: "0.1.35", + }); +}); + test("manual agent versions are preserved while other changed modules auto bump", () => { const fixture = moduleFixture([ "agents/drivers/access",