Skip to content

Bicep RPC Client: Implement pooled client factory#19886

Merged
anthony-c-martin merged 2 commits into
mainfrom
ant/pool
Jun 17, 2026
Merged

Bicep RPC Client: Implement pooled client factory#19886
anthony-c-martin merged 2 commits into
mainfrom
ant/pool

Conversation

@anthony-c-martin

@anthony-c-martin anthony-c-martin commented Jun 16, 2026

Copy link
Copy Markdown
Member
  • Introduces PooledBicepClientFactory that shares a single underlying Bicep CLI client per configuration, with lightweight wrappers that can be disposed independently
  • Automatically evicts idle clients after a configurable inactivity interval (default 30s), recreating them on demand
  • Extracts IJsonRpcClient interface to make BicepClient unit-testable without requiring a full CLI process
  • Adds comprehensive test coverage for client pooling, eviction, JSON-RPC framing, version validation, and CLI download flows

@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Test this change out locally with the following install scripts (Action run 27712181098)

VSCode
  • Mac/Linux
    bash <(curl -Ls https://aka.ms/bicep/nightly-vsix.sh) --run-id 27712181098
  • Windows
    iex "& { $(irm https://aka.ms/bicep/nightly-vsix.ps1) } -RunId 27712181098"
Azure CLI
  • Mac/Linux
    bash <(curl -Ls https://aka.ms/bicep/nightly-cli.sh) --run-id 27712181098
  • Windows
    iex "& { $(irm https://aka.ms/bicep/nightly-cli.ps1) } -RunId 27712181098"

@anthony-c-martin anthony-c-martin changed the title Implement pooled client factory Bicep RPC Client: Implement pooled client factory Jun 17, 2026

@shenglol shenglol 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.

:shipit:

@anthony-c-martin anthony-c-martin merged commit 27af7c0 into main Jun 17, 2026
41 checks passed
@anthony-c-martin anthony-c-martin deleted the ant/pool branch June 17, 2026 18:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants