From 77db16ce90b930513b5d78061fc4beba4bbb6e47 Mon Sep 17 00:00:00 2001 From: simon Date: Wed, 15 Apr 2026 12:40:41 +0200 Subject: [PATCH 1/2] Move eng-apps-devex team to OWNERTEAMS for maintainer-approval resolution Co-authored-by: Isaac --- .github/OWNERS | 10 +++++----- .github/OWNERTEAMS | 1 + .github/workflows/maintainer-approval.test.js | 17 ++++++++++------- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/.github/OWNERS b/.github/OWNERS index 0639ba10a8b..f24bd3de6c3 100644 --- a/.github/OWNERS +++ b/.github/OWNERS @@ -16,10 +16,10 @@ /acceptance/labs/ @alexott @nfx # Apps -/cmd/apps/ @databricks/eng-apps-devex -/cmd/workspace/apps/ @databricks/eng-apps-devex -/libs/apps/ @databricks/eng-apps-devex -/acceptance/apps/ @databricks/eng-apps-devex +/cmd/apps/ team:eng-apps-devex +/cmd/workspace/apps/ team:eng-apps-devex +/libs/apps/ team:eng-apps-devex +/acceptance/apps/ team:eng-apps-devex # Auth /cmd/auth/ team:platform @@ -60,4 +60,4 @@ /internal/ team:platform # Experimental -/experimental/aitools/ @databricks/eng-apps-devex @lennartkats-db +/experimental/aitools/ team:eng-apps-devex @lennartkats-db diff --git a/.github/OWNERTEAMS b/.github/OWNERTEAMS index db7931c6f80..2437fd8390d 100644 --- a/.github/OWNERTEAMS +++ b/.github/OWNERTEAMS @@ -4,3 +4,4 @@ team:bundle @andrewnester @anton-107 @denik @janniklasrose @pietern @shreyas-goenka team:platform @simonfaltum @renaudhartert-db @hectorcast-db @parthban-db @tanmay-db @Divyansh-db @tejaskochar-db @mihaimitrea-db @chrisst @rauchy +team:eng-apps-devex @fjakobs @jamesbroadhead @Shridhad @atilafassina @keugenek @arsenyinfo @igrekun @pkosiec @MarioCadenas @pffigueiredo @ditadi @calvarjorge diff --git a/.github/workflows/maintainer-approval.test.js b/.github/workflows/maintainer-approval.test.js index c5d44f5dad6..0854c1c48eb 100644 --- a/.github/workflows/maintainer-approval.test.js +++ b/.github/workflows/maintainer-approval.test.js @@ -8,18 +8,23 @@ const runModule = require("./maintainer-approval"); // --- Test helpers --- -function makeTmpOwners(content) { +function makeTmpOwners(content, ownerTeamsContent) { const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "approval-test-")); const ghDir = path.join(tmpDir, ".github"); fs.mkdirSync(ghDir); fs.writeFileSync(path.join(ghDir, "OWNERS"), content); + if (ownerTeamsContent) { + fs.writeFileSync(path.join(ghDir, "OWNERTEAMS"), ownerTeamsContent); + } return tmpDir; } +const OWNERTEAMS_CONTENT = "team:eng-apps-devex @teamdev1 @teamdev2\n"; + const OWNERS_CONTENT = [ "* @maintainer1 @maintainer2", "/cmd/pipelines/ @jefferycheng1 @kanterov", - "/cmd/apps/ @databricks/eng-apps-devex", + "/cmd/apps/ team:eng-apps-devex", "/bundle/ @bundleowner", ].join("\n"); @@ -121,7 +126,7 @@ describe("maintainer-approval", () => { before(() => { originalWorkspace = process.env.GITHUB_WORKSPACE; - tmpDir = makeTmpOwners(OWNERS_CONTENT); + tmpDir = makeTmpOwners(OWNERS_CONTENT, OWNERTEAMS_CONTENT); process.env.GITHUB_WORKSPACE = tmpDir; }); @@ -283,13 +288,12 @@ describe("maintainer-approval", () => { assert.equal(github._checkRuns.length, 0); }); - it("team member approved -> success for team-owned path", async () => { + it("OWNERTEAMS member approved -> success for team-owned path", async () => { const github = makeGithub({ reviews: [ { state: "APPROVED", user: { login: "teamdev1" } }, ], files: [{ filename: "cmd/apps/main.go" }], - teamMembers: { "eng-apps-devex": ["teamdev1"] }, }); const core = makeCore(); const context = makeContext(); @@ -300,13 +304,12 @@ describe("maintainer-approval", () => { assert.equal(github._checkRuns[0].conclusion, "success"); }); - it("non-team-member approval for team-owned path -> pending", async () => { + it("non-OWNERTEAMS-member approval for team-owned path -> pending", async () => { const github = makeGithub({ reviews: [ { state: "APPROVED", user: { login: "outsider" } }, ], files: [{ filename: "cmd/apps/main.go" }], - teamMembers: { "eng-apps-devex": [] }, }); const core = makeCore(); const context = makeContext(); From cf29ffd0b024d610d87a8857d50304f33dcb029b Mon Sep 17 00:00:00 2001 From: simon Date: Wed, 15 Apr 2026 12:43:03 +0200 Subject: [PATCH 2/2] Add team roster sync comments to OWNERTEAMS Co-authored-by: Isaac --- .github/OWNERTEAMS | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/OWNERTEAMS b/.github/OWNERTEAMS index 2437fd8390d..9bcab6116e9 100644 --- a/.github/OWNERTEAMS +++ b/.github/OWNERTEAMS @@ -1,6 +1,15 @@ # Team aliases for OWNERS file. # Use "team:" in OWNERS to reference a team defined here. # Format: team: @member1 @member2 ... +# +# Keep these in sync with actual GitHub team rosters. GITHUB_TOKEN can't +# resolve org team membership via the API, so this file is the source of +# truth for the maintainer-approval workflow. +# +# GitHub team pages: +# bundle: https://github.com/orgs/databricks/teams/cli-maintainers +# platform: https://github.com/orgs/databricks/teams/cli-platform +# eng-apps-devex: https://github.com/orgs/databricks/teams/eng-apps-devex team:bundle @andrewnester @anton-107 @denik @janniklasrose @pietern @shreyas-goenka team:platform @simonfaltum @renaudhartert-db @hectorcast-db @parthban-db @tanmay-db @Divyansh-db @tejaskochar-db @mihaimitrea-db @chrisst @rauchy