Skip to content

APIStub PyPI wheel download should fall back when the Azure SDK feed fails #48572

Description

@msyyc

Describe the bug

SDK generation can fail during the APIStub breaking-change check when downloading a previously released wheel. The command says it is downloading from PyPI, but it inherits the Azure SDK Azure Artifacts index. If that feed cannot serve the upstream wheel, the command exits without trying public PyPI.

Pipeline failure: Pipelines - Run 20260813.14 logs

Observed behavior

The azure-mgmt-scvmm breaking-change check invokes:

python -m pip download azure-mgmt-scvmm==1.0.0 --no-deps --only-binary=:all: -d <staging-directory>

The log reports Downloading azure-mgmt-scvmm==1.0.0 from PyPI, but pip uses:

https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/

The download returns exit status 2 and fails the breaking-change check. Version 1.0.0 has a compatible, non-yanked py3-none-any wheel on public PyPI, and a later normal installation in the same pipeline succeeds.

Expected behavior

  • Try the Azure SDK package feed first.
  • If that download fails, retry the same wheel from public PyPI.
  • If both indexes fail, report the final error and fail the check.
  • Log which index is being used so the failure is diagnosable.

Proposed fix

Draft PR #48571 implements the feed-first/public-PyPI fallback and adds tests for primary success, fallback success, and both indexes failing.

Metadata

Metadata

Labels

bugThis issue requires a change to an existing behavior in the product in order to be resolved.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions