feat(pipeline): add Azure Pipelines configuration for building and publishing Kiota Python packages to PyPI#562
feat(pipeline): add Azure Pipelines configuration for building and publishing Kiota Python packages to PyPI#562MIchaelMainer wants to merge 8 commits into
Conversation
…blishing Kiota Python packages to PyPI Retire the GitHub action used to publish this package.
baywet
left a comment
There was a problem hiding this comment.
@MIchaelMainer I'm guessing you're doing that change to get rid of the token?
Could you please provide more context on why we couldn't simply migrate the workflow to use oidc instead?
It seems less involved and is integrated with the platform.
https://docs.github.com/en/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-pypi
|
@baywet Correct, to drop the use of the token, and drop the use of our own non-official maintainer account. |
…stead of 'vmImage' and specify OS
There was a problem hiding this comment.
Pull request overview
This PR migrates the Python package publishing flow from a GitHub Actions “publish” workflow to an Azure Pipelines (1ES) official pipeline intended to build/package the mono-repo’s Python packages and publish them to PyPI via ESRP Release.
Changes:
- Added a new Azure Pipelines CD pipeline (
.azure-pipelines/cd-publish-python.yml) to build/test/package all Kiota Python packages and publish artifacts to PyPI via ESRP. - Removed the GitHub Actions publish workflow (
.github/workflows/publish.yml) that previously published to PyPI on tag pushes. - Updated VS Code workspace settings to enable Azure Pipelines schema support (and adjusted pytest settings formatting).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| .vscode/settings.json | Adds Azure Pipelines schema-related editor setting; adjusts pytest setting line/comment placement. |
| .github/workflows/publish.yml | Removes the GitHub Actions-based PyPI publishing workflow. |
| .azure-pipelines/cd-publish-python.yml | Adds a 1ES Azure Pipelines configuration to build/package and publish Python artifacts to PyPI via ESRP Release. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "python.testing.unittestEnabled": false, | ||
| "python.testing.pytestEnabled": false, // Disable pytest (does not work with poetry yet) | ||
| "python.testing.pytestEnabled": false, | ||
| "azure-pipelines.1ESPipelineTemplatesSchemaFile": true, // Disable pytest (does not work with poetry yet) |
There was a problem hiding this comment.
this has been fixed
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* chore: drop poetry, migrate to pip + flit_core - Replace poetry-core build backend with flit_core in all 8 packages - Convert all pyproject.toml from [tool.poetry] to PEP 621 [project] format - Fix [mypy] -> [tool.mypy] in abstractions, authentication/azure, bundle, tests/validation - Fix tests/validation mypy files setting to 'validation' - Create requirements-dev.txt per package (8 packages + tests/validation) - Update build.yml: replace poetry install/run with pip and direct commands - Update cd-publish-python.yml: replace poetry with pip install build + python -m build - Remove poetry-plugin-mono-repo-deps from root requirements_dev.txt Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore: update VSCode settings to maintain pytest configuration * chore: remove non-active approver * chore(pipeline): update artifact feed for pip authentication --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|



Retire the GitHub action used to publish this package.
NOTE: Must update ADO config to target main once this PR is completed.