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
Copy link
Copy Markdown
Member

@MIchaelMainer MIchaelMainer commented Jun 3, 2026

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
Copy link
Copy Markdown
Member

@baywet baywet left a comment

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.

Copy link
Copy Markdown

Copilot AI left a comment

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 on lines +18 to +20
"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)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

let's fix this

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

this has been fixed

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
Copy link
Copy Markdown

sonarqubecloud Bot commented Jun 5, 2026

@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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress 🚧

Development

Successfully merging this pull request may close these issues.

6 participants