From b807665ec92fd432f8927d8b9c0b97645f645bb0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 9 May 2026 11:49:13 +0000 Subject: [PATCH 1/2] Initial plan From 2d7369a4a7f6736cecd718cf0e7d74b1b499c4b9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 9 May 2026 11:53:21 +0000 Subject: [PATCH 2/2] docs: align repos syntax documentation Agent-Logs-Url: https://github.com/githubnext/ado-aw/sessions/978c462f-709d-479b-ab76-05f3cc2d8c81 Co-authored-by: jamesadevine <4742697+jamesadevine@users.noreply.github.com> --- AGENTS.md | 1 + README.md | 5 ++-- prompts/create-ado-agentic-workflow.md | 33 ++++++++++---------------- 3 files changed, 15 insertions(+), 24 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 8faa9ca..10f3bea 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -63,6 +63,7 @@ Every compiled pipeline runs as three sequential jobs: │ │ │ └── tests.rs # Extension integration tests │ │ ├── codemods/ # Front-matter codemods (one file per transformation) │ │ │ ├── mod.rs # Codemod struct, CODEMODS registry, runner +│ │ │ ├── 0001_repos_unified.rs # Legacy repositories/checkout → repos codemod │ │ │ └── helpers.rs # take_key, insert_no_overwrite, rename_key, ConflictPolicy │ │ ├── codemod_integration_test.rs # White-box rewrite-path tests (stub registry injection) │ │ └── types.rs # Front matter grammar and types diff --git a/README.md b/README.md index 309e7be..ace1188 100644 --- a/README.md +++ b/README.md @@ -237,8 +237,7 @@ the service connections. Approve the permissions and the pipeline is ready. | `on` | object | — | Unified trigger configuration (`schedule`, `pipeline` completion, `pr` triggers). See [schedule syntax](#schedule-syntax). | | `pool` | string or object | `AZS-1ES-L-MMS-ubuntu-22.04` | Agent pool | | `workspace` | `root` \| `repo` | auto | Working directory mode | -| `repositories` | list | — | Additional repository resources | -| `checkout` | list | — | Which repositories to check out | +| `repos` | list | — | Compact repository declarations (replaces legacy `repositories:` + `checkout:`) | | `mcp-servers` | map | — | MCP server configuration | | `tools` | object | — | Tool configuration (`bash`, `edit`, `cache-memory`, `azure-devops`) | | `runtimes` | object | — | Runtime environment configuration (`lean`, `python`, `node`, `dotnet`) | @@ -544,4 +543,4 @@ for automated releases via `release-please`. ## License -See [LICENSE](LICENSE) for details. \ No newline at end of file +See [LICENSE](LICENSE) for details. diff --git a/prompts/create-ado-agentic-workflow.md b/prompts/create-ado-agentic-workflow.md index 033cab4..f7e9c88 100644 --- a/prompts/create-ado-agentic-workflow.md +++ b/prompts/create-ado-agentic-workflow.md @@ -132,28 +132,23 @@ Controls where the agent's working directory is set. | `root` (default) | `$(Build.SourcesDirectory)` | Only checking out `self` | | `repo` | `$(Build.SourcesDirectory)/$(Build.Repository.Name)` | Multiple repos checked out | -Only include `workspace:` if non-default. Warn the user if they set `workspace: repo` but have no additional repos in `checkout:`. +Only include `workspace:` if non-default. Warn the user if they set `workspace: repo` but have no additional repos in `repos:`. ### Step 5 — Repositories & Checkout -Declare extra repositories the pipeline can access, then select which ones the agent actually checks out. +Declare extra repositories the pipeline can access and whether the agent checks them out. ```yaml -repositories: - - repository: my-other-repo # alias - type: git - name: my-org/my-other-repo # org/repo - - repository: templates - type: git - name: my-org/pipeline-templates - -checkout: - - my-other-repo # only check this one out; "templates" stays as a resource only +repos: + - my-org/my-other-repo + - name: my-org/pipeline-templates + alias: templates + checkout: false ``` -- `repositories:` — pipeline-level resources (for templates, pipeline triggers, etc.) -- `checkout:` — which aliases the agent actually checks out alongside `self` -- Omit `checkout:` entirely to check out only `self` +- `repos:` replaces the legacy `repositories:` + `checkout:` pair +- Use shorthand (`org/repo` or `alias=org/repo`) for the common case where the agent should check out the repo alongside `self` +- Use object form with `checkout: false` when the repo should be available as a resource only (for templates, pipeline triggers, etc.) ### Step 6 — Pool @@ -629,12 +624,8 @@ safe-outputs: Agent checks out and modifies a secondary repository. ```yaml -repositories: - - repository: shared-config - type: git - name: my-org/shared-config -checkout: - - shared-config +repos: + - my-org/shared-config workspace: repo permissions: read: my-read-sc