Skip to content

feat(pipeline): add Azure Pipelines configuration for building and publishing Kiota Python packages to PyPI#562

Open
MIchaelMainer wants to merge 8 commits into
mainfrom
mmainer/cd-enhancement
Open

feat(pipeline): add Azure Pipelines configuration for building and publishing Kiota Python packages to PyPI#562
MIchaelMainer wants to merge 8 commits into
mainfrom
mmainer/cd-enhancement

Conversation

@MIchaelMainer

@MIchaelMainer MIchaelMainer commented Jun 3, 2026

Copy link
Copy Markdown
Member

Retire the GitHub action used to publish this package.

NOTE: Must update ADO config to target main once this PR is completed.

…blishing Kiota Python packages to PyPI

Retire the GitHub action used to publish this package.
@MIchaelMainer MIchaelMainer requested a review from a team as a code owner June 3, 2026 17:54

@baywet baywet left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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

@MIchaelMainer

Copy link
Copy Markdown
Member Author

@baywet Correct, to drop the use of the token, and drop the use of our own non-official maintainer account.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread .vscode/settings.json Outdated
Comment thread .azure-pipelines/cd-publish-python.yml Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI requested a review from adrian05-ms June 5, 2026 20:07
adrian05-ms
adrian05-ms previously approved these changes Jun 5, 2026
* 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>
@sonarqubecloud

sonarqubecloud Bot commented Jun 5, 2026

Copy link
Copy Markdown

@MIchaelMainer MIchaelMainer enabled auto-merge (squash) June 5, 2026 21:03
@github-project-automation github-project-automation Bot moved this to In Progress 🚧 in Kiota Jun 5, 2026
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

This pull request has conflicting changes, the author must resolve the conflicts before this pull request can be merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: In Progress 🚧

Development

Successfully merging this pull request may close these issues.

6 participants