Repository navigation
[Cosmos] Skip resource provisioning for fixed-account live tests - #49576
Tomas Varon (tvaron3) wants to merge 4 commits into
Conversation
Separate fixed-account matrix jobs from provisioned AAD/GSI jobs, resolve masked credentials directly, and cover routing with offline regressions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ecc2b4a9-dcde-49df-9127-c9a15f886f18
|
Azure Pipelines: Successfully started running 3 pipeline(s). 7 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
This comment has been minimized.
This comment has been minimized.
Retain CI runtime resolvers and update documentation to remove manual test commands. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ecc2b4a9-dcde-49df-9127-c9a15f886f18
There was a problem hiding this comment.
🔵 Needs a closer look
Shared pipeline authentication and resource-lifecycle changes require human review and validation of expanded Azure Pipelines jobs.
No open issues 🎉
What changed in this PR
Separates Cosmos fixed-account live tests from provisioned tests, removing unnecessary deployment and Azure login dependencies.
Changes:
- Moves 12 fixed-account lanes into a dedicated matrix while retaining 8 provisioned lanes.
- Adds opt-in shared-template controls to skip resource setup and cleanup.
- Exports selected credentials directly, removes obsolete hooks and manual tests, and updates documentation.
| File | Description |
|---|---|
| sdk/cosmos/tests.yml | Connects the fixed-account matrix and resolver steps. |
| sdk/cosmos/test-resources-post.ps1 | Removes obsolete credential rebinding. |
| sdk/cosmos/README.md | Documents the separate live-test paths. |
| sdk/cosmos/pipeline/test-resources-post.tests.ps1 | Removes tests for the deleted hook. |
| sdk/cosmos/pipeline/resolve-test-account-steps.yml | Exports normal account variables directly. |
| sdk/cosmos/pipeline/resolve-cosmos-test-account.tests.ps1 | Removes manual resolver tests. |
| sdk/cosmos/pipeline/resolve-cosmos-test-account.ps1 | Updates parameter documentation only. |
| sdk/cosmos/live-platform-matrix.json | Retains AAD and GSI provisioning lanes. |
| sdk/cosmos/fixed-account-platform-matrix.json | Defines fixed-account lanes and circuit-breaker flags. |
| eng/pipelines/templates/stages/archetype-sdk-tests.yml | Adds optional fixed-account matrix generation. |
| eng/pipelines/templates/jobs/live.tests.yml | Conditionally omits resource setup and cleanup. |
Review effort: Balanced
This comment has been minimized.
This comment has been minimized.
Compare change-feed IDs without cross-partition ordering, isolate synthetic retry topology and transport, and fetch full history for Analyze API comparisons. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ecc2b4a9-dcde-49df-9127-c9a15f886f18
This comment has been minimized.
This comment has been minimized.
[Pilot] PR Pipeline Failure AnalysisWhat failedBuild 6973968 (
Root cause (shared across all 6): Commit
Both defects are localized to the new Relevant pipeline output(Identical pattern repeats across windows2022 Python 3.10/3.11/3.12/3.13/3.14, whl and sdist — 10/10 artifact files, single root cause, not platform-specific.) Recommended next steps
Automated fix: Fix found, view and apply fix
|
Limit the test-only TLS override to synthetic requests redirected to exact loopback hosts, and cover remote hosts, custom CA settings, and URL restoration. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: ecc2b4a9-dcde-49df-9127-c9a15f886f18
Description
Cosmos key-auth live-test jobs selected fixed accounts but still provisioned unused temporary accounts before restoring the fixed credentials. Separate these jobs from provisioned jobs so fixed-account testing no longer depends on resource deployment or its Azure authentication.
FixedAccountMatrixConfigsandFixedAccountPreStepsto the shared Python test archetype, preserving existing defaults for other pipelines.CI_HAS_DEPLOYED_RESOURCESrequirement.ACCOUNT_*credentials directly with existing mask-before-environment secret registration. Remove the obsolete post-deployment rebinding hook.sdk/cosmos/pipeline/resolve-test-account-steps.ymlandresolve-cosmos-test-account.ps1, which CI requires. Per the requested cleanup, remove the manual-onlyresolve-cosmos-test-account.tests.ps1andtest_fixed_account_pipeline.pyscripts and their README commands. These scripts are not invoked by repository-defined CI or package-scoped test discovery; no equivalent toolkit replacement is claimed.eng/common, Bicep, or the public SDK API.Follow-up fixes in
ad1824473421c90eb81d8edb02ddaf1c26bd9b87:Validation:
python3 -m pytest --noconftest -q sdk/cosmos/azure-cosmos/tests/test_split_test_utils.py sdk/cosmos/azure-cosmos/tests/test_service_retry_policies.py::TestServiceRetryPolicyHelpers eng/tools/azure-sdk-tools/tests/test_native_build_pipeline.py::test_analysis_checkout_has_history_for_api_comparisonpassed 23 tests. Combined with a session-only memory-transport harness exercising the six original affected retry flows, 29 tests passed. Inherited credentials were removed, dummy values supplied, and socket/DNS access blocked. This is not live/emulator validation. Python 3.10 grammar andgit diff --checkpassed; independent review found no significant issues.The previous full live run 6969964 failed before these fixes. GSI subscription status may have changed externally and must be verified by the new run; unexplained emulator HTTP 500s were not patched speculatively. Local MCP validation was blocked by an unrelated sample mypy error and an unavailable inherited test endpoint; direct offline validation was explicitly authorized. No emulator was available locally. New full live validation against the latest commit is pending.
All SDK Contribution checklist:
Changelog: not applicable to these pipeline/test-only changes.
General Guidelines and Best Practices
Testing Guidelines