mirror of
https://github.com/github/awesome-copilot.git
synced 2026-10-12 14:54:16 +00:00
Align plugin marketplace ownership and PR review routing (#4749)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 88f4f5b8-b61a-4f5b-845f-dcc8c82ce55e
This commit is contained in:
@@ -138,7 +138,7 @@ domains:
|
|||||||
paths: ["extensions/**"]
|
paths: ["extensions/**"]
|
||||||
pools: ["canvas"]
|
pools: ["canvas"]
|
||||||
plugin:
|
plugin:
|
||||||
paths: ["plugins/**"]
|
paths: ["plugins/**", ".github/plugin/**"]
|
||||||
pools: ["plugin"]
|
pools: ["plugin"]
|
||||||
content:
|
content:
|
||||||
paths: ["agents/**", "instructions/**", "skills/**", "workflows/**", "hooks/**"]
|
paths: ["agents/**", "instructions/**", "skills/**", "workflows/**", "hooks/**"]
|
||||||
|
|||||||
@@ -68,7 +68,8 @@ jobs:
|
|||||||
/^skills\//
|
/^skills\//
|
||||||
],
|
],
|
||||||
plugin: [
|
plugin: [
|
||||||
/^plugins\//
|
/^plugins\//,
|
||||||
|
/^\.github\/plugin\//
|
||||||
],
|
],
|
||||||
agent: [
|
agent: [
|
||||||
/^agents\/.+\.agent\.md$/
|
/^agents\/.+\.agent\.md$/
|
||||||
|
|||||||
@@ -24,3 +24,6 @@
|
|||||||
/website/**/cli-for-beginners/ @github/awesome-copilot-workshop-reviewers
|
/website/**/cli-for-beginners/ @github/awesome-copilot-workshop-reviewers
|
||||||
/website/**/app-for-beginners/ @github/awesome-copilot-workshop-reviewers
|
/website/**/app-for-beginners/ @github/awesome-copilot-workshop-reviewers
|
||||||
/website/**/copilot-workshops/ @github/awesome-copilot-workshop-reviewers
|
/website/**/copilot-workshops/ @github/awesome-copilot-workshop-reviewers
|
||||||
|
|
||||||
|
# Specific allocations
|
||||||
|
/.github/plugin/ @github/awesome-copilot-plugin-reviewers
|
||||||
|
|||||||
@@ -11,11 +11,12 @@ The root [`CODEOWNERS`](../../CODEOWNERS) file assigns every path to a team, not
|
|||||||
| `*` (default) | `@github/awesome-copilot-core-maintainers` |
|
| `*` (default) | `@github/awesome-copilot-core-maintainers` |
|
||||||
| `/extensions/` | `@github/awesome-copilot-canvas-reviewers` |
|
| `/extensions/` | `@github/awesome-copilot-canvas-reviewers` |
|
||||||
| `/plugins/` | `@github/awesome-copilot-plugin-reviewers` |
|
| `/plugins/` | `@github/awesome-copilot-plugin-reviewers` |
|
||||||
|
| `/.github/plugin/` | `@github/awesome-copilot-plugin-reviewers` |
|
||||||
| `/agents/`, `/instructions/`, `/skills/`, `/hooks/`, `/workflows/` | `@github/awesome-copilot-content-reviewers` |
|
| `/agents/`, `/instructions/`, `/skills/`, `/hooks/`, `/workflows/` | `@github/awesome-copilot-content-reviewers` |
|
||||||
| `/.github/` (including GitHub Actions workflows), `/eng/` | `@github/awesome-copilot-core-maintainers` |
|
| `/.github/` (including GitHub Actions workflows), `/eng/` | `@github/awesome-copilot-core-maintainers` |
|
||||||
| Copilot workshop content under `/website/` | `@github/awesome-copilot-workshop-reviewers` |
|
| Copilot workshop content under `/website/` | `@github/awesome-copilot-workshop-reviewers` |
|
||||||
|
|
||||||
GitHub applies the **last** matching rule, so the workshop entries at the bottom of the file override the default team for their paths. When you edit `CODEOWNERS` by hand:
|
GitHub applies the **last** matching rule, so the workshop entries and the `/.github/plugin/` entry override broader rules for their paths. When you edit `CODEOWNERS` by hand:
|
||||||
|
|
||||||
- Keep the `*` rule and the domain team block at the top of the file.
|
- Keep the `*` rule and the domain team block at the top of the file.
|
||||||
- Never add an individual user to the `*` rule.
|
- Never add an individual user to the `*` rule.
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import {
|
|||||||
STATUS_MARKER,
|
STATUS_MARKER,
|
||||||
summarizeChecks,
|
summarizeChecks,
|
||||||
syncPullRequestStatus,
|
syncPullRequestStatus,
|
||||||
|
touchedDomains,
|
||||||
} from "./submission-gate.mjs";
|
} from "./submission-gate.mjs";
|
||||||
|
|
||||||
const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
|
const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "..");
|
||||||
@@ -129,6 +130,12 @@ test("documentation and generated output are low risk", () => {
|
|||||||
assert.equal(result.tier, "low");
|
assert.equal(result.tier, "low");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("generated plugin marketplace output is owned by the plugin domain", () => {
|
||||||
|
assert.deepEqual(touchedDomains([file(".github/plugin/marketplace.json")], tiers.domains), [
|
||||||
|
{ id: "plugin", pools: ["plugin"] },
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
|
||||||
test("small modification of an existing resource is low risk", () => {
|
test("small modification of an existing resource is low risk", () => {
|
||||||
const result = classifyRisk({ files: [file("skills/foo/SKILL.md", { changes: 10 })], tiers });
|
const result = classifyRisk({ files: [file("skills/foo/SKILL.md", { changes: 10 })], tiers });
|
||||||
assert.equal(result.tier, "low");
|
assert.equal(result.tier, "low");
|
||||||
|
|||||||
Reference in New Issue
Block a user