Skip to content

feat(tools): allow Azure DevOps MCP version override - #1843

Merged
jamesadevine merged 1 commit into
mainfrom
feat/ado-mcp-version-override
Aug 6, 2026
Merged

feat(tools): allow Azure DevOps MCP version override#1843
jamesadevine merged 1 commit into
mainfrom
feat/ado-mcp-version-override

Conversation

@jamesadevine

Copy link
Copy Markdown
Collaborator

Summary

  • add an exact-semver tools.azure-devops.version override while retaining the compiler-pinned default
  • use the effective version for both npm installation and resolved-version verification
  • keep MCP toolsets and allowed tools as pass-through configuration, and update built-in examples to use repositories and work-items
  • document that the versions catalog reports the compiler default and add schema, import, catalog, and codegen regression coverage

Addresses #1721.

Test plan

  • cargo test --bin ado-aw semantic_version --quiet
  • cargo test --bin ado-aw azure_devops --quiet
  • cargo test --bin ado-aw ado_mcp --quiet
  • cargo test --bin ado-aw tools_union_allow_arrays_and_consumer_scalars_win --quiet
  • cargo test --bin ado-aw versions_catalog --quiet
  • cargo test --test compiler_tests azure_devops_mcp --quiet
  • cargo clippy --quiet --all-targets

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c5571fe7-43c1-4358-adf3-edc4740ac633
@azure-pipelines

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

@jamesadevine
jamesadevine merged commit a7247b3 into main Aug 6, 2026
9 of 12 checks passed
@jamesadevine
jamesadevine deleted the feat/ado-mcp-version-override branch August 6, 2026 21:24
jamesadevine added a commit that referenced this pull request Aug 11, 2026
CI caught three assertions that still expected shell values interpolated
inline. The PR moves them into the generated binding prelude, so the
emitted text legitimately changed:

* `tests/compiler_tests.rs` — the Azure DevOps MCP version (from #1843)
  now renders as `MCP_VERSION='2.9.0'` with `"$MCP_PACKAGE@$MCP_VERSION"`
  rather than `"@azure-devops/mcp@2.9.0"`. Both the override and default
  cases now assert on the prelude *and* the use, which also proves the
  install and its verification read one version rather than two.
* `tests/gate_e2e.rs` — `find_gate_spec` located the gate step by the
  literal `node '<path>'`. With the path bound, that matched nothing and
  the test reported the gate as absent rather than as changed.

Also passes `SYSTEMROOT` through the gate harness's `env_clear` on
Windows. Node aborts during initialisation without it — its CSPRNG
seeding resolves the OS crypto provider relative to that variable — and
the failure surfaces as an assertion with empty stdout and a native
stack trace, which reads like a gate-logic bug. Linux CI never hit this;
it made the test unrunnable locally, which is how the stale locator
survived review in the first place.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: aa46b482-6121-45e2-8278-1a9465b4f73e
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.

1 participant