Azure / Azure/azure-sdk-for-python
[Cosmos] [Embedding V0] CI/CD and release pipeline for azure-cosmos-embedding
- Dominant language
- Python
- Stars
- 5.6k
- Forks
- 3.4k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 193
Description
# [Cosmos] [Embedding V0] CI/CD and release pipeline for `azure-cosmos-embedding`
Parent: [#46729](https://github.com/Azure/azure-sdk-for-python/issues/46729)
## Background
The new `azure-cosmos-embedding` package needs CI, release, and publish pipeline steps consistent with how other `azure-cosmos` sibling packages are handled in the Azure SDK for Python monorepo.
Reference: the .NET sibling is tracked in [Azure/azure-cosmos-dotnet-v3#5843](https://github.com/Azure/azure-cosmos-dotnet-v3/issues/5843).
## Scope
### 1. CI pipeline (`sdk/cosmos/ci.yml`)
- Add `azure-cosmos-embedding` to the `Artifacts` list so the standard Azure SDK Python CI picks it up.
- Ensure unit tests (`azure-cosmos-embedding/tests/`) run on every PR touching the package.
- Emulator-dependent tests run on the emulator leg (when they exist, per #46736).
### 2. Release pipeline
- The Azure SDK Python release process uses the `release_*.yml` / `eng/pipelines/` infrastructure.
- Register `azure-cosmos-embedding` with the release automation so `python-azure-cosmos-embedding` release PRs are created automatically.
- Confirm the package is in `eng/versioning/version_client.txt` with an initial version (e.g. `1.0.0b1`).
### 3. `pyproject.toml` / packaging standards
- Verify `azure-cosmos-embedding` complies with Azure SDK Python packaging standards:
- `sdk_type = "client"` in `sdk_packaging.toml` or equivalent.
- Trove classifiers, license, description match other `azure-cosmos*` packages.
- `py.typed` marker file present.
### 4. Open questions to resolve
- Does `azure-cosmos-embedding` ship as **beta (`1.0.0b1`)** at Build, or is it staged post-Build?
- Does it need its own `ci.yml` or is adding to the existing `sdk/cosmos/ci.yml` sufficient?
- Does `openai` package pinning need to align with any Azure SDK dependency policy?
## Acceptance criteria
- `python -m pytest sdk/cosmos/azure-cosmos-embedding/tests/` runs in CI on every PR.
- `python -m build sdk/cosmos/azure-cosmos-embedding/` produces a valid wheel.
- Package installable via `pip install azure-cosmos-embedding` from the published feed.
- Release automation produces a release PR when `_version.py` is bumped.
## Files likely touched
- `sdk/cosmos/ci.yml` (add package to Artifacts list — also in scaffold issue)
- `eng/versioning/version_client.txt` (add `azure-cosmos-embedding`)
- `sdk/cosmos/azure-cosmos-embedding/sdk_packaging.toml` (new)
- `sdk/cosmos/azure-cosmos-embedding/setup.cfg` or `pyproject.toml`
## Dependencies
- Package scaffold sub-issue — `azure-cosmos-embedding` must exist before CI can reference it.
Contributor guide
Assessment
This issue has not been assessed yet.