Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
545858b
resolve codespace script error
Priyanka2-Microsoft Aug 19, 2026
55f9031
Merge pull request #688 from microsoft/psl-bug-50767
Roopan-Microsoft Aug 20, 2026
8448c23
updated the nanoid package
Dhruvkumar-Microsoft Aug 20, 2026
6036f7f
Merge pull request #690 from microsoft/psl-depandabotUp-dk
Roopan-Microsoft Aug 20, 2026
55b31d9
Microsoft Package Feed Proxy
Priyanka2-Microsoft Aug 20, 2026
4818765
update docker file
Priyanka2-Microsoft Aug 21, 2026
790ec89
Complete package feed proxy coverage
Prachig-Microsoft Aug 21, 2026
e6cfdcf
Preserve validated deployment settings
Prachig-Microsoft Aug 21, 2026
121b017
Revert deployment-specific Bicep settings
Prachig-Microsoft Aug 21, 2026
eb48919
fix: address deployment review feedback
Prachig-Microsoft Aug 21, 2026
56728c8
fix: enforce LF endings for shell scripts
Prachig-Microsoft Aug 21, 2026
8f9022b
revert: remove shell line-ending policy
Prachig-Microsoft Aug 21, 2026
c563eef
resolve acr build push script issue
Priyanka2-Microsoft Aug 21, 2026
af69d1b
Fix CFS endpoint and Windows ACR builds
Prachig-Microsoft Aug 22, 2026
85e241b
fix: use dockerignore for web ACR context
Prachig-Microsoft Aug 24, 2026
c9f8c6c
Merge pull request #691 from Prachig-Microsoft/psl-cp-us50841
Roopan-Microsoft Aug 24, 2026
27c33b6
add pip and npm registry URLs to devcontainer environment
Pavan-Microsoft Aug 25, 2026
d3986ef
resolving conflict
Priyanka2-Microsoft Aug 25, 2026
f874235
Merge pull request #692 from microsoft/fix-acr-build-push-script-failing
Prajwal-Microsoft Aug 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ RUN apt-get update \
# Copy UV binaries
COPY --from=uv --chown=vscode: /uv /uvx /bin/

# Install global NPM packages
RUN npm install -g tslint-to-eslint-config typescript react-app-rewired pnpm@10.28.2
# Install global NPM packages (from the Microsoft Package Feed Proxy)
RUN npm install -g --registry=https://packagefeedproxy.microsoft.io/npm/ tslint-to-eslint-config typescript react-app-rewired pnpm@10.28.2

# Set default shell
SHELL ["/bin/bash", "-c"]
5 changes: 4 additions & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,10 @@
"DISPLAY": "dummy",
"PYTHONUNBUFFERED": "True",
"UV_LINK_MODE": "copy",
"UV_PROJECT_ENVIRONMENT": "/home/vscode/.venv"
"UV_PROJECT_ENVIRONMENT": "/home/vscode/.venv",
"PIP_INDEX_URL": "https://packagefeedproxy.microsoft.io/pypi/simple/",
"UV_INDEX_URL": "https://packagefeedproxy.microsoft.io/pypi/simple/",
"NPM_CONFIG_REGISTRY": "https://packagefeedproxy.microsoft.io/npm/"
},
"postCreateCommand": "sed -i 's/\r$//' ./.devcontainer/setupEnv.sh && sh ./.devcontainer/setupEnv.sh",
"remoteEnv": {
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/pylint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ on:
permissions:
contents: read
actions: read
env:
PIP_INDEX_URL: https://packagefeedproxy.microsoft.io/pypi/simple/
jobs:
build:
runs-on: ubuntu-latest
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/test-automation-v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ env:
url: ${{ inputs.CP_WEB_URL }}
accelerator_name: "Content Processing"
test_suite: ${{ inputs.TEST_SUITE }}
PIP_INDEX_URL: https://packagefeedproxy.microsoft.io/pypi/simple/

jobs:
test:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/test-automation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ env:
url: ${{ inputs.CP_WEB_URL }}
CP_RG: ${{ inputs.CP_RG }}
accelerator_name: "Content Processing"
PIP_INDEX_URL: https://packagefeedproxy.microsoft.io/pypi/simple/

jobs:
test:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ permissions:
contents: read
actions: read
pull-requests: write
env:
PIP_INDEX_URL: https://packagefeedproxy.microsoft.io/pypi/simple/
jobs:
backend_tests:
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion docs/AVMPostDeploymentGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Before starting, ensure you have:
The registration script requires the `requests` library:

```bash
pip install requests
python -m pip install --index-url https://packagefeedproxy.microsoft.io/pypi/simple/ requests
```

## Post-Deployment Steps
Expand Down
12 changes: 6 additions & 6 deletions docs/LocalDevelopmentSetup.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

```bash
# Install uv package manager if not already installed
pip install uv
python -m pip install --index-url https://packagefeedproxy.microsoft.io/pypi/simple/ uv

# Install all dependencies using uv
uv sync --python 3.12
Expand Down Expand Up @@ -362,7 +362,7 @@ source .venv/bin/activate # Linux/macOS

```bash
# Install uv package manager if not already installed
pip install uv
python -m pip install --index-url https://packagefeedproxy.microsoft.io/pypi/simple/ uv

# Install all dependencies using uv
uv sync --python 3.12
Expand Down Expand Up @@ -468,7 +468,7 @@ source .venv/bin/activate # Linux/macOS

```bash
# Install uv package manager if not already installed
pip install uv
python -m pip install --index-url https://packagefeedproxy.microsoft.io/pypi/simple/ uv

# Install all dependencies using uv
uv sync --python 3.12 --prerelease=allow
Expand Down Expand Up @@ -630,7 +630,7 @@ If you see errors when installing dependencies, ensure you're using `uv sync` in

```powershell
# Install uv if not already installed
pip install uv
python -m pip install --index-url https://packagefeedproxy.microsoft.io/pypi/simple/ uv

# Use uv sync which handles dependencies better
uv sync --python 3.12
Expand All @@ -645,8 +645,8 @@ If you see "PyO3 modules compiled for CPython 3.8 or older may only be initializ
```powershell
# Uninstall and reinstall with compatible versions
pip uninstall -y pydantic pydantic-core
pip install pydantic==2.12.5 pydantic-core==2.41.5
pip install --upgrade "typing-extensions>=4.14.1"
python -m pip install --index-url https://packagefeedproxy.microsoft.io/pypi/simple/ pydantic==2.12.5 pydantic-core==2.41.5
python -m pip install --index-url https://packagefeedproxy.microsoft.io/pypi/simple/ --upgrade "typing-extensions>=4.14.1"
```

**Explanation:** Version mismatch between pydantic and pydantic-core causes runtime errors. The compatible versions above work reliably together.
Expand Down
96 changes: 63 additions & 33 deletions infra/scripts/acr_build_push.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ $DeploymentType = az group show `

# Get the script directory and navigate to repo root
$ScriptDir = $PSScriptRoot
$RepoRoot = Resolve-Path (Join-Path $ScriptDir "..\..")
$RepoRoot = (Resolve-Path (Join-Path $ScriptDir "../..")).Path

Write-Host ""
Write-Host " ACR Name: $ACR_NAME"
Expand All @@ -134,6 +134,52 @@ Write-Host " Resource Group: $RESOURCE_GROUP"
Write-Host " Image Tag: $IMAGE_TAG"
Write-Host ""

function Build-Image {
param(
[Parameter(Mandatory = $true)]
[string]$ImageName,
[Parameter(Mandatory = $true)]
[string]$Dockerfile,
[Parameter(Mandatory = $true)]
[string]$BuildContext
)

$ContextPath = [System.IO.Path]::GetRelativePath($RepoRoot, $BuildContext)
$DockerfilePath = [System.IO.Path]::GetRelativePath($BuildContext, $Dockerfile)
$StagingDirectory = Join-Path ([System.IO.Path]::GetTempPath()) "acr-build-$([guid]::NewGuid())"
New-Item -ItemType Directory -Path $StagingDirectory | Out-Null

try {
$SourceFiles = git -C $RepoRoot ls-files `
--cached `
--others `
--exclude-standard `
-- $ContextPath

if ($LASTEXITCODE -ne 0) { throw "Failed to collect build context for $ImageName" }

foreach ($SourceFile in $SourceFiles) {
$StagedFile = [System.IO.Path]::GetRelativePath($ContextPath, $SourceFile)
$Destination = Join-Path $StagingDirectory $StagedFile
$DestinationDirectory = Split-Path -Parent $Destination
New-Item -ItemType Directory -Path $DestinationDirectory -Force | Out-Null
Copy-Item -LiteralPath (Join-Path $RepoRoot $SourceFile) -Destination $Destination
}

az acr build `
--registry $ACR_NAME `
--image "${ImageName}:$IMAGE_TAG" `
--file (Join-Path $StagingDirectory $DockerfilePath) `
--platform linux `
$StagingDirectory

if ($LASTEXITCODE -ne 0) { throw "Failed to build $ImageName image" }
}
finally {
Remove-Item -LiteralPath $StagingDirectory -Recurse -Force -ErrorAction SilentlyContinue
}
}

try {
# =============================================================================
# Step 1: Build and push images to ACR using az acr build
Expand All @@ -146,53 +192,37 @@ try {
# --- ContentProcessor ---
Write-Host ""
Write-Host " Building contentprocessor image..."
az acr build `
--registry $ACR_NAME `
--image "contentprocessor:$IMAGE_TAG" `
--file "$RepoRoot\src\ContentProcessor\Dockerfile" `
--platform linux `
"$RepoRoot\src\ContentProcessor"

if ($LASTEXITCODE -ne 0) { throw "Failed to build contentprocessor image" }
Build-Image `
-ImageName "contentprocessor" `
-Dockerfile (Join-Path $RepoRoot "src/ContentProcessor/Dockerfile") `
-BuildContext (Join-Path $RepoRoot "src/ContentProcessor")
Write-Host " [OK] contentprocessor image built and pushed."

# --- ContentProcessorAPI ---
Write-Host ""
Write-Host " Building contentprocessorapi image..."
az acr build `
--registry $ACR_NAME `
--image "contentprocessorapi:$IMAGE_TAG" `
--file "$RepoRoot\src\ContentProcessorAPI\Dockerfile" `
--platform linux `
"$RepoRoot\src\ContentProcessorAPI"

if ($LASTEXITCODE -ne 0) { throw "Failed to build contentprocessorapi image" }
Build-Image `
-ImageName "contentprocessorapi" `
-Dockerfile (Join-Path $RepoRoot "src/ContentProcessorAPI/Dockerfile") `
-BuildContext (Join-Path $RepoRoot "src/ContentProcessorAPI")
Write-Host " [OK] contentprocessorapi image built and pushed."

# --- ContentProcessorWeb ---
Write-Host ""
Write-Host " Building contentprocessorweb image..."
az acr build `
--registry $ACR_NAME `
--image "contentprocessorweb:$IMAGE_TAG" `
--file "$RepoRoot\src\ContentProcessorWeb\Dockerfile" `
--platform linux `
"$RepoRoot\src\ContentProcessorWeb"

if ($LASTEXITCODE -ne 0) { throw "Failed to build contentprocessorweb image" }
Build-Image `
-ImageName "contentprocessorweb" `
-Dockerfile (Join-Path $RepoRoot "src/ContentProcessorWeb/Dockerfile") `
-BuildContext (Join-Path $RepoRoot "src/ContentProcessorWeb")
Write-Host " [OK] contentprocessorweb image built and pushed."

# --- ContentProcessorWorkflow ---
Write-Host ""
Write-Host " Building contentprocessorworkflow image..."
az acr build `
--registry $ACR_NAME `
--image "contentprocessorworkflow:$IMAGE_TAG" `
--file "$RepoRoot\src\ContentProcessorWorkflow\Dockerfile" `
--platform linux `
"$RepoRoot\src\ContentProcessorWorkflow"

if ($LASTEXITCODE -ne 0) { throw "Failed to build contentprocessorworkflow image" }
Build-Image `
-ImageName "contentprocessorworkflow" `
-Dockerfile (Join-Path $RepoRoot "src/ContentProcessorWorkflow/Dockerfile") `
-BuildContext (Join-Path $RepoRoot "src/ContentProcessorWorkflow")
Write-Host " [OK] contentprocessorworkflow image built and pushed."

Write-Host ""
Expand Down
Loading
Loading