Skip to content

Move Vally eval suite to repo-root azsdk-evals#16367

Merged
helen229 merged 2 commits into
mainfrom
feat/move-evals-to-root-v2
Jul 17, 2026
Merged

Move Vally eval suite to repo-root azsdk-evals#16367
helen229 merged 2 commits into
mainfrom
feat/move-evals-to-root-v2

Conversation

@helen229

Copy link
Copy Markdown
Member

What

Moves the Vally eval suite from tools/azsdk-cli/Azure.Sdk.Tools.Vally/ to a top-level azsdk-evals/ folder, so the evals live at the repo root alongside other cross-cutting assets rather than nested under the CLI tool.

Supersedes #16333, which accumulated stray merge commits that broke the sync-eng-common patch-apply step (patches are generated per-commit against the commit's own parent, so an old commit referencing pre-rename .js eval test files kept resurfacing even after merging main). This PR is a clean, single squashed commit rebased on current main.

Changes

  • git mv of the tracked eval config, eval specs, and fixtures:
    • .vally.yaml, .gitignore, README.md
    • evals/** (13 eval specs)
    • fixtures/** (Microsoft.Widget TypeSpec fixtures)
  • Rewrote all depth-sensitive relative paths for the new repo-root location:
    • .vally.yaml MCP build/run paths (../artifacts/..., ../tools/azsdk-cli/...)
    • *.eval.yaml git source: and skill-mount paths (6-up -> 4-up)
  • Updated pipeline entrypoints eng/common/pipelines/workflow-eval.yml and live-eval.yml (vallyRoot: azsdk-evals + trigger/PR path filters).
  • Updated the folder-invariant test eng/common/scripts/eval/test/init-eval-git-fixtures.test.ts (vallyRoot -> azsdk-evals).
  • Updated README.md title, layout tree, and root-relative links.

Validation

  • Full eval test directory passes: 42/42 (node --test in eng/common/scripts/eval).
  • .vally.yaml parses cleanly; no remaining Azure.Sdk.Tools.Vally references or wrong-depth (../../../../../../) paths in tracked files.
  • No CODEOWNERS or .sln references to the old path exist.

Notes

  • The {project-root}/../../../../common-types token in fixtures/.../tspconfig.yaml is a TypeSpec project-root path (not filesystem-repo-relative) and is intentionally left unchanged.
  • Local-only scratch/ output remains physically under the old folder (gitignored dev artifacts); not part of this PR.

Copilot AI review requested due to automatic review settings July 15, 2026 20:47
@helen229
helen229 requested review from a team, danieljurek and mikeharder as code owners July 15, 2026 20:47
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).
63 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR relocates the Vally MCP-tool/workflow eval suite from tools/azsdk-cli/Azure.Sdk.Tools.Vally/ to a new repo-root azsdk-evals/ folder and updates CI/pipelines and relative paths accordingly, keeping eval assets alongside other cross-cutting repo-root resources.

Changes:

  • Moved and re-rooted the eval suite into azsdk-evals/ (config, eval specs, and fixtures) and adjusted depth-sensitive relative paths.
  • Updated workflow-eval.yml / live-eval.yml and the eval fixture discovery test to use vallyRoot: azsdk-evals.
  • Bumped @microsoft/vally-cli used by the eval runner scripts to 0.7.0 (with corresponding lockfile updates).

Reviewed changes

Copilot reviewed 15 out of 33 changed files in this pull request and generated no comments.

Show a summary per file
File Description
eng/common/scripts/eval/test/init-eval-git-fixtures.test.ts Updates the invariant fixture discovery test to point at azsdk-evals.
eng/common/scripts/eval/package.json Bumps @microsoft/vally-cli devDependency to 0.7.0.
eng/common/scripts/eval/package-lock.json Updates lockfile for @microsoft/vally-cli@0.7.0 and transitive deps.
eng/common/scripts/allow-relative-links.txt Allows relative links under azsdk-evals/** for link validation.
eng/common/pipelines/workflow-eval.yml Updates trigger paths and vallyRoot to run eval CI from azsdk-evals.
eng/common/pipelines/live-eval.yml Updates vallyRoot for the live eval pipeline tier.
azsdk-evals/README.md Renames/rewrites docs for the new repo-root eval suite layout and commands.
azsdk-evals/fixtures/README.md Adds guidance for referencing fixtures via environment.files.
azsdk-evals/fixtures/Microsoft.Widget/Widget/tspconfig.yaml Adds TypeSpec fixture config for widget ARM project.
azsdk-evals/fixtures/Microsoft.Widget/Widget/main.tsp Adds TypeSpec fixture for widget ARM provider namespace + versions.
azsdk-evals/fixtures/Microsoft.Widget/Widget/employee.tsp Adds TypeSpec fixture defining sample ARM resource and operations.
azsdk-evals/fixtures/analyze-pipeline/QueueClientOptionsTests/code/QueueClientOptionsTests.cs Adds C# test fixture used by pipeline analysis/fix scenarios.
azsdk-evals/fixtures/analyze-pipeline/QueueClientOptionsTests/code/QueueClientOptions.cs Adds C# source fixture containing the version-parser bug under test.
azsdk-evals/evals/workflow-scenarios/mock/typespec-generation-step02.eval.yaml Adjusts repo-root-relative skill/git paths after moving the suite.
azsdk-evals/evals/workflow-scenarios/mock/rename-client-property.eval.yaml Adjusts repo-root-relative skill/git paths after moving the suite.
azsdk-evals/evals/workflow-scenarios/mock/release-planner-workflows.eval.yaml Adjusts repo-root-relative skill/git paths across multiple stimuli.
azsdk-evals/evals/workflow-scenarios/mock/multi-turn-release-workflows.eval.yaml Adjusts repo-root-relative skill/git paths for multi-turn routing scenario.
azsdk-evals/evals/workflow-scenarios/mock/fix-pipeline.eval.yaml Adjusts skill path depth for the pipeline-fix scenario.
azsdk-evals/evals/workflow-scenarios/mock/check-public-repo-then-validate.eval.yaml Adjusts repo-root-relative skill/git paths after moving the suite.
azsdk-evals/evals/workflow-scenarios/mock/analyze-failed-pipeline.eval.yaml Adjusts skill path depth for the pipeline-analysis scenario.
azsdk-evals/evals/workflow-scenarios/live/release-planner.eval.yaml Adjusts repo-root-relative skill/git paths for live workflow scenario.
azsdk-evals/evals/tools/prompt-to-tool-verify.eval.yaml Adds/relocates tool-invocation eval coverage for azsdk_verify_setup.
azsdk-evals/evals/tools/prompt-to-tool-typespec.eval.yaml Adds/relocates tool-invocation eval coverage for TypeSpec tools.
azsdk-evals/evals/tools/prompt-to-tool-releaseplan.eval.yaml Adds/relocates tool-invocation eval coverage for release-plan tools.
azsdk-evals/evals/tools/prompt-to-tool-pipeline.eval.yaml Adds/relocates tool-invocation eval coverage for pipeline tools.
azsdk-evals/evals/tools/prompt-to-tool-package.eval.yaml Adds/relocates tool-invocation eval coverage for package tools.
azsdk-evals/evals/tools/prompt-to-tool-github.eval.yaml Adds/relocates tool-invocation eval coverage for GitHub tools.
azsdk-evals/evals/tools/prompt-to-tool-engsys.eval.yaml Adds/relocates tool-invocation eval coverage for engsys tools.
azsdk-evals/evals/tools/prompt-to-tool-config.eval.yaml Adds/relocates tool-invocation eval coverage for service-label/config tools.
azsdk-evals/evals/tools/prompt-to-tool-apiview.eval.yaml Adds/relocates tool-invocation eval coverage for APIView tools.
azsdk-evals/evals/tools/add-arm-resource.eval.yaml Adds/relocates an end-to-end TypeSpec authoring scenario with fixtures.
azsdk-evals/.vally.yaml Re-roots MCP server build/output paths for the new azsdk-evals location.
azsdk-evals/.gitignore Ignores local eval output folders under the new root.
Files not reviewed (1)
  • eng/common/scripts/eval/package-lock.json: Generated file
Comments suppressed due to low confidence (3)

azsdk-evals/README.md:81

  • This command will fail as-written because sync-eval-git-repo.ts contains TypeScript type annotations (e.g., args: string[]) and Node needs --experimental-strip-types (or a TS runner) to execute it.
    azsdk-evals/README.md:177
  • This example will fail as-written because sync-eval-git-repo.ts includes TypeScript syntax; run it with node --experimental-strip-types (matching how the eval scripts run TS elsewhere).
    azsdk-evals/README.md:252
  • This example will fail as-written because sync-eval-git-repo.ts includes TypeScript syntax; run it with node --experimental-strip-types.

@raych1

raych1 commented Jul 15, 2026

Copy link
Copy Markdown
Member

@helen229 curious the motivation to move this to repo root. Would eng or tools be a better folder option?

@azure-sdk-automation

Copy link
Copy Markdown
Contributor

The following pipelines have been queued for testing:
java - template
java - template - tests
js - template
net - template
net - template - tests
python - template
python - template - tests
You can sign off on the approval gate to test the release stage of each pipeline.
See eng/common workflow

helen229 added a commit to Azure/azure-sdk-for-js that referenced this pull request Jul 16, 2026
Sync eng/common directory with azure-sdk-tools for PR
Azure/azure-sdk-tools#16367 See [eng/common
workflow](https://github.com/Azure/azure-sdk-tools/blob/main/eng/common/README.md#workflow)

Co-authored-by: helen229 <gaoh@microsoft.com>
helen229 added a commit to Azure/azure-sdk-for-rust that referenced this pull request Jul 16, 2026
Sync eng/common directory with azure-sdk-tools for PR
Azure/azure-sdk-tools#16367 See [eng/common
workflow](https://github.com/Azure/azure-sdk-tools/blob/main/eng/common/README.md#workflow)

Co-authored-by: helen229 <gaoh@microsoft.com>
@helen229

Copy link
Copy Markdown
Member Author

@helen229 curious the motivation to move this to repo root. Would eng or tools be a better folder option?
This eval runs across the repos, Keeping it outside [eng] and [tools] also separates evaluation assets from engineering infrastructure and tools implementation.

@helen229
helen229 merged commit 7fa4778 into main Jul 17, 2026
11 checks passed
@helen229
helen229 deleted the feat/move-evals-to-root-v2 branch July 17, 2026 19:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants