Skip to content

chore: dev to main merge - #693

Merged
Avijit-Microsoft merged 19 commits into
mainfrom
dev
Aug 25, 2026
Merged

chore: dev to main merge#693
Avijit-Microsoft merged 19 commits into
mainfrom
dev

Conversation

@MohdRafi-Microsoft

Copy link
Copy Markdown

Purpose

This pull request introduces significant changes to centralize and standardize the use of the Microsoft Package Feed Proxy for Python, Node.js, and .NET dependencies across development, CI/CD, and documentation. It also refactors ACR build scripts for improved maintainability and reliability. The most important changes are grouped below:

Standardizing Package Feeds

  • All Python package installations in documentation, environment variables, and requirements files now use the Microsoft Package Feed Proxy (https://packagefeedproxy.microsoft.io/pypi/simple/) to ensure consistent and reliable dependency resolution. This includes updates in docs/LocalDevelopmentSetup.md, docs/AVMPostDeploymentGuide.md, infra/vscode_web/requirements.txt, infra/vscode_web/endpoint-requirements.txt, and src/ContentProcessor/pyproject.toml [1] [2] [3] [4] [5] [6] [7] [8] [9].
  • All Node.js (npm) installations in the development container and environment variables are now configured to use the Microsoft npm proxy (https://packagefeedproxy.microsoft.io/npm/), as reflected in .devcontainer/Dockerfile and .devcontainer/devcontainer.json [1] [2].
  • A new nuget.config file is added to direct .NET package restores to the Microsoft NuGet proxy (https://packagefeedproxy.microsoft.io/nuget/v3/index.json).

CI/CD Pipeline Updates

  • All GitHub Actions workflows now set the PIP_INDEX_URL environment variable to the Microsoft proxy, ensuring all automated builds and tests use the same package source (.github/workflows/pylint.yml, .github/workflows/test.yml, .github/workflows/test-automation.yml, .github/workflows/test-automation-v2.yml) [1] [2] [3] [4].

Build Script Refactoring

  • The ACR build and push scripts for both PowerShell (infra/scripts/acr_build_push.ps1) and Bash (infra/scripts/acr_build_push.sh) are refactored to use helper functions (Build-Image and build_image) that stage build contexts more reliably using git, improving maintainability and reducing duplication [1] [2] [3] [4].

Other Improvements

  • Minor fix in PowerShell script for resolving the repo root path to ensure compatibility across environments.

These changes collectively improve dependency management, build reliability, and maintainability across the project.

Does this introduce a breaking change?

  • Yes
  • No

Golden Path Validation

  • I have tested the primary workflows (the "golden path") to ensure they function correctly without errors.

Deployment Validation

  • I have validated the deployment process successfully and all services are running as expected with this change.

What to Check

Verify that the following are valid

  • ...

Other Information

@github-actions

Copy link
Copy Markdown

Coverage

Coverage Report •
FileStmtsMissCoverMissing
TOTAL122516786% 
report-only-changed-files is enabled. No files were changed during this commit :)

Tests Skipped Failures Errors Time
244 0 💤 0 ❌ 0 🔥 2.262s ⏱️

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 standardizes Microsoft Package Feed Proxy usage across dependencies, CI/CD, containers, and documentation while refactoring ACR build tooling and adding deployment utilities.

Changes:

  • Configures Python, npm, and NuGet package sources through the proxy.
  • Refactors Bash and PowerShell ACR build scripts.
  • Adds POSIX post-deployment and upload scripts.
  • Updates frontend dependency and container configuration.

Reviewed changes

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

Show a summary per file
File Summary
tests/e2e-test/requirements.txt Uses the Microsoft PyPI proxy.
src/ContentProcessorWorkflow/pyproject.toml Adds the uv proxy index.
src/ContentProcessorWeb/package.json Updates nanoid.
src/ContentProcessorWeb/Dockerfile Uses the npm proxy during builds.
src/ContentProcessorWeb/.npmrc Sets the npm proxy registry.
src/ContentProcessorWeb/.dockerignore Adds build-context exclusions.
src/ContentProcessorWeb/.devcontainer/Dockerfile Updates npm proxy guidance.
src/ContentProcessorWeb/.devcontainer/base.Dockerfile Uses the npm proxy for global packages.
src/ContentProcessorAPI/samples/upload_files.sh Adds a Bash upload utility. Critical (4 votes): the manual Content-Type header omits curl’s multipart boundary and causes uploads to be rejected.
src/ContentProcessorAPI/requirements.txt Uses the Microsoft PyPI proxy.
src/ContentProcessorAPI/pyproject.toml Adds the uv proxy index.
src/ContentProcessor/requirements.txt Uses the Microsoft PyPI proxy.
src/ContentProcessor/pyproject.toml Adds the uv proxy index.
nuget.config Configures the NuGet proxy source.
infra/vscode_web/requirements.txt Uses the Microsoft PyPI proxy.
infra/vscode_web/endpoint-requirements.txt Uses the Microsoft PyPI proxy.
infra/scripts/post_deployment.sh Adds POSIX post-deployment automation. Moderate (2 votes): it is not wired into the documented azd up flow. Moderate (3 votes): GNU realpath is unavailable by default on macOS.
infra/scripts/acr_build_push.sh Refactors staged ACR builds. Critical (2 votes): the shebang is not the first line, so direct execution may use a non-Bash shell and fail.
infra/scripts/acr_build_push.ps1 Refactors PowerShell ACR builds with staged contexts.
docs/LocalDevelopmentSetup.md Updates proxied Python setup commands.
docs/AVMPostDeploymentGuide.md Updates proxied installation instructions.
.github/workflows/test.yml Sets the Python package proxy.
.github/workflows/test-automation.yml Sets the automation Python proxy.
.github/workflows/test-automation-v2.yml Sets the automation Python proxy.
.github/workflows/pylint.yml Sets the lint Python proxy.
.devcontainer/Dockerfile Uses the npm proxy.
.devcontainer/devcontainer.json Adds package-proxy environment variables.
Suppressed comments (1)

src/ContentProcessorWeb/.npmrc:3

  • This registry setting does not control the dependency artifacts pinned in the frozen lockfile: pnpm-lock.yaml contains explicit tarball URLs on ms-feed-*.pkgs.visualstudio.com (for example the nanoid entry). pnpm install --frozen-lockfile will continue downloading those URLs, so existing dependencies are not actually routed through the new proxy and can fail where that feed is inaccessible. Regenerate the lockfile against the proxy or otherwise remove/replace the embedded tarball URLs.
registry=https://packagefeedproxy.microsoft.io/npm/

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

Comment thread infra/scripts/acr_build_push.sh
@Avijit-Microsoft
Avijit-Microsoft merged commit 659eaa1 into main Aug 25, 2026
9 checks passed
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.

9 participants