Skip to content

Use authenticated package sources in packaging pipelines - #1101

Merged
Sayan Shaw (sayanshaw24) merged 2 commits into
mainfrom
fix/package-feed-isolation
Aug 12, 2026
Merged

Use authenticated package sources in packaging pipelines#1101
Sayan Shaw (sayanshaw24) merged 2 commits into
mainfrom
fix/package-feed-isolation

Conversation

@jiafatom

Copy link
Copy Markdown
Contributor

Summary

  • add reusable package-source setup for Java packaging jobs
  • configure Windows wheel builds to use authenticated Python and NuGet sources
  • seed the wheel build cache with the agent-provided package client to avoid ad hoc bootstrap downloads
  • apply the setup consistently across current and legacy pipeline entry points

Testing

  • parsed the updated YAML files
  • ran git diff --check

Configure Java and Windows wheel packaging to use authenticated package sources and avoid ad hoc dependency bootstrap downloads.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4d78d7b1-43f9-4fe3-972f-3a70b59db4f6
Copilot AI lite review requested due to automatic review settings August 12, 2026 03:27
@jiafatom
David Fan (jiafatom) requested a review from a team as a code owner August 12, 2026 03:27

Copilot AI left a comment

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.

Pull request overview

This PR updates the Azure Pipelines packaging/build workflows to consistently use authenticated internal package sources (Python/PyPI, NuGet, and Maven) via reusable templates, and to reduce ad hoc bootstrap downloads by seeding tooling into the wheel-build cache.

Changes:

  • Introduces reusable templates to authenticate/configure Python+NuGet feeds for Windows wheel builds and Maven feeds (plus Gradle isolation) for Java packaging.
  • Wires the new feed-setup templates into both current (tools/ci_build/...) and legacy (.pipelines/...) pipeline entry points.
  • Adds a wheel-build cache seeding step (nuget.exe copy + CIBW cache path) to stabilize cibuildwheel behavior.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tools/ci_build/github/azure-pipeline/templates/windows-build-stage.yml Adds Python/NuGet authenticated feed setup before running pip/cibuildwheel on Windows.
tools/ci_build/github/azure-pipeline/java_packaging.yml Adds Maven feed authentication + Gradle isolation setup to all Java packaging jobs (Win/Linux/macOS).
.pipelines/templates/setup-python-feed.yml New reusable template to authenticate Python and NuGet feeds and configure cibuildwheel isolation/cache.
.pipelines/templates/setup-maven-feed.yml New reusable template to authenticate Maven feeds and enforce Gradle repository isolation using credentials from Maven settings.
.pipelines/templates/onebranch-windows-build-stage.yml Applies the Python/NuGet feed setup to OneBranch Windows wheel builds.
.pipelines/java_packaging.yml Applies the Maven feed setup to the legacy Java packaging pipeline.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .pipelines/templates/setup-python-feed.yml Outdated
Remove the XML declaration so leading whitespace cannot invalidate the generated configuration.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 4d78d7b1-43f9-4fe3-972f-3a70b59db4f6

Copilot AI left a comment

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.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.

Suppressed comments (1)

.pipelines/templates/setup-maven-feed.yml:27

  • This step writes the Gradle init script under $HOME/.gradle/init.d, which can persist across runs on self-hosted agents and unexpectedly affect unrelated builds (or runs that don’t include this template). Prefer isolating Gradle state by setting GRADLE_USER_HOME to a job-scoped temp directory and writing the init script under that directory instead.
      $gradleInitDir = Join-Path $HOME '.gradle/init.d'
      New-Item -ItemType Directory -Force -Path $gradleInitDir | Out-Null

@sayanshaw24
Sayan Shaw (sayanshaw24) enabled auto-merge (squash) August 12, 2026 16:03
@sayanshaw24
Sayan Shaw (sayanshaw24) merged commit 35e7c56 into main Aug 12, 2026
39 checks passed
@sayanshaw24
Sayan Shaw (sayanshaw24) deleted the fix/package-feed-isolation branch August 12, 2026 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants