Skip to content
Merged
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
8b5be8e
build: bump the all-npm-deps group
dependabot[bot] Aug 1, 2025
c34c38b
build: bump openai in /src/ContentProcessor in the all-uv-deps group
dependabot[bot] Aug 1, 2025
6078c70
build: bump actions/setup-python from 4 to 5 in the all-actions group
dependabot[bot] Aug 1, 2025
a7ea55d
build: bump openai in /src/ContentProcessor in the all-uv-deps group
dependabot[bot] Sep 1, 2025
0e9dab2
build: bump the all-actions group with 4 updates
dependabot[bot] Sep 1, 2025
f4eafa1
build: bump the all-npm-deps group
dependabot[bot] Sep 1, 2025
0d1a2af
build: bump openai in /src/ContentProcessor in the all-uv-deps group
dependabot[bot] Oct 1, 2025
57d931a
build: bump the all-npm-deps group
dependabot[bot] Oct 1, 2025
e00a24a
build: bump the all-actions group with 3 updates
dependabot[bot] Oct 1, 2025
f9bc0ec
Merge remote-tracking branch 'origin/dev' into dependabotchanges
Saswato-Microsoft Oct 14, 2025
ca28f54
Refactor code structure for improved readability and maintainability
Saswato-Microsoft Oct 14, 2025
e035231
Refactor code structure for improved readability and maintainability
Saswato-Microsoft Oct 14, 2025
90dd8fb
Refactor code structure for improved readability and maintainability
Saswato-Microsoft Oct 15, 2025
8697d96
Refactor code structure for improved readability and maintainability
Saswato-Microsoft Oct 15, 2025
ba61aba
Allow Docker image push for dependabotchanges branch
Harmanpreet-Microsoft Oct 15, 2025
d7c33c6
Refactor deployment scripts: rename postdeploy to postprovision and s…
Harsh-Microsoft Oct 16, 2025
6d23261
Add enablePurgeProtection parameter to Bicep and JSON templates
Harsh-Microsoft Oct 16, 2025
c46593d
Update API endpoint retrieval to handle potential null values and adj…
Harsh-Microsoft Oct 17, 2025
17d3612
Rename AI services module file and update reference in main Bicep tem…
Harsh-Microsoft Oct 17, 2025
afd49c3
Add 'useDevContainer' option to Azure template validation step
Harsh-Microsoft Oct 17, 2025
48ec6a5
Fix postprovision hook to explicitly use bash for script execution on…
Harsh-Microsoft Oct 17, 2025
997bedd
remove unnecessary scope from aiservice.bicep
Harsh-Microsoft Oct 17, 2025
9825133
Merge branch 'dev' into hb-tempval-fix
Harsh-Microsoft Oct 23, 2025
690b765
Merge pull request #291 from microsoft/hb-tempval-fix
Roopan-Microsoft Oct 23, 2025
66fb1d4
Merge pull request #286 from microsoft/dependabotchanges
Roopan-Microsoft Oct 23, 2025
0bea710
Fix formatting of push condition in Docker build workflow
Roopan-Microsoft Oct 27, 2025
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: 3 additions & 1 deletion .github/workflows/azure-dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,14 @@ jobs:
steps:
# Step 1: Checkout the code from your repository
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

# Step 2: Validate the Azure template using microsoft/template-validation-action
- name: Validate Azure Template
uses: microsoft/template-validation-action@v0.4.3
id: validation
with:
useDevContainer: false
env:
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/broken-links-checker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ jobs:

steps:
- name: Checkout Repo
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0

# For PR : Get only changed markdown files
- name: Get changed markdown files (PR only)
id: changed-markdown-files
if: github.event_name == 'pull_request'
uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c # v46
uses: tj-actions/changed-files@24d32ffd492484c1d75e0c0b894501ddb9d30d62 # v46
with:
files: |
**/*.md
Expand All @@ -34,7 +34,7 @@ jobs:
- name: Check Broken Links in Changed Markdown Files
id: lychee-check-pr
if: github.event_name == 'pull_request' && steps.changed-markdown-files.outputs.any_changed == 'true'
uses: lycheeverse/lychee-action@v2.4.1
uses: lycheeverse/lychee-action@v2.6.1
with:
args: >
--verbose --exclude-mail --no-progress --exclude ^https?://
Expand All @@ -47,7 +47,7 @@ jobs:
- name: Check Broken Links in All Markdown Files in Entire Repo (Manual Trigger)
id: lychee-check-manual
if: github.event_name == 'workflow_dispatch'
uses: lycheeverse/lychee-action@v2.4.1
uses: lycheeverse/lychee-action@v2.6.1
with:
args: >
--verbose --exclude-mail --no-progress --exclude ^https?://
Expand Down
13 changes: 8 additions & 5 deletions .github/workflows/build-docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
Expand All @@ -28,7 +28,7 @@ jobs:
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT

- name: Log in to Azure Container Registry
if: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' }}
if: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' || github.ref_name == 'dependabotchanges' }}
uses: azure/docker-login@v2
with:
login-server: ${{ env.ACR_LOGIN_SERVER }}
Expand All @@ -54,6 +54,9 @@ jobs:
BASE_TAG="demo"
elif [[ "$BRANCH" == "hotfix" ]]; then
BASE_TAG="hotfix"
elif [[ "$BRANCH" == "dependabotchanges" ]]; then
BASE_TAG="dependabotchanges"

else
BASE_TAG="pullrequest-ignore"
fi
Expand All @@ -67,7 +70,7 @@ jobs:
with:
context: ./src/ContentProcessor
file: ./src/ContentProcessor/Dockerfile
push: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' }}
push: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix'|| github.ref_name == 'dependabotchanges' }}
Comment thread
Roopan-Microsoft marked this conversation as resolved.
Outdated
tags: |
${{ steps.registry.outputs.ext_registry }}/contentprocessor:${{ env.BASE_TAG }}
${{ steps.registry.outputs.ext_registry }}/contentprocessor:${{ env.DATE_TAG }}
Expand All @@ -77,7 +80,7 @@ jobs:
with:
context: ./src/ContentProcessorAPI
file: ./src/ContentProcessorAPI/Dockerfile
push: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' }}
push: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix'|| github.ref_name == 'dependabotchanges' }}
Comment thread
Roopan-Microsoft marked this conversation as resolved.
Outdated
tags: |
${{ steps.registry.outputs.ext_registry }}/contentprocessorapi:${{ env.BASE_TAG }}
${{ steps.registry.outputs.ext_registry }}/contentprocessorapi:${{ env.DATE_TAG }}
Expand All @@ -87,7 +90,7 @@ jobs:
with:
context: ./src/ContentProcessorWeb
file: ./src/ContentProcessorWeb/Dockerfile
push: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' }}
push: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix'|| github.ref_name == 'dependabotchanges' }}
Comment thread
Roopan-Microsoft marked this conversation as resolved.
Outdated
tags: |
${{ steps.registry.outputs.ext_registry }}/contentprocessorweb:${{ env.BASE_TAG }}
${{ steps.registry.outputs.ext_registry }}/contentprocessorweb:${{ env.DATE_TAG }}
4 changes: 2 additions & 2 deletions .github/workflows/create-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
ref: ${{ github.event.workflow_run.head_sha }}

- uses: codfish/semantic-release-action@v3
- uses: codfish/semantic-release-action@v4
id: semantic
with:
tag-format: 'v${version}'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:

steps:
- name: Checkout Code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Azure CLI
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-title-checker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ jobs:
runs-on: ubuntu-latest
if: ${{ github.event_name != 'merge_group' }}
steps:
- uses: amannn/action-semantic-pull-request@v5
- uses: amannn/action-semantic-pull-request@v6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4 changes: 2 additions & 2 deletions .github/workflows/pylint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ jobs:
steps:
# Step 1: Checkout code
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

# Step 2: Set up Python environment
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Install GitHub CLI
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/stale-bot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
- uses: actions/stale@v10
with:
stale-issue-message: 'This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 30 days.'
days-before-stale: 180
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/telemetry-template-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Check for required metadata template line
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test-automation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v6
with:
python-version: '3.12'

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Set up Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.11"

Expand Down Expand Up @@ -66,7 +66,7 @@ jobs:
#
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# uses: actions/checkout@v5
#
# - name: Set up Node.js
# uses: actions/setup-node@v3
Expand Down
24 changes: 3 additions & 21 deletions azure.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,30 +11,12 @@ metadata:
name: content-processinge@1.0

hooks:
postdeploy:
postprovision:
posix:
shell: sh
run: |
echo "🧭 Web App Details:"
echo "✅ Name: $CONTAINER_WEB_APP_NAME"
echo "🌐 Endpoint: https://$CONTAINER_WEB_APP_FQDN"
echo "🔗 Portal URL: https://portal.azure.com/#resource/subscriptions/$AZURE_SUBSCRIPTION_ID/resourceGroups/$AZURE_RESOURCE_GROUP/providers/Microsoft.App/containerApps/$CONTAINER_WEB_APP_NAME"

echo "🧭 API App Details:"
echo "✅ Name: $CONTAINER_API_APP_NAME"
echo "🌐 Endpoint: https://$CONTAINER_API_APP_FQDN"
echo "🔗 Portal URL: https://portal.azure.com/#resource/subscriptions/$AZURE_SUBSCRIPTION_ID/resourceGroups/$AZURE_RESOURCE_GROUP/providers/Microsoft.App/containerApps/$CONTAINER_API_APP_NAME"
run: sed -i 's/\r$//' ./infra/scripts/post_deployment.sh; bash ./infra/scripts/post_deployment.sh
interactive: true
windows:
shell: pwsh
run: |
Write-Host "🧭 Web App Details:"
Write-Host "✅ Name: $env:CONTAINER_WEB_APP_NAME"
Write-Host "🌐 Endpoint: https://$env:CONTAINER_WEB_APP_FQDN"
Write-Host "🔗 Portal URL: https://portal.azure.com/#resource/subscriptions/$env:AZURE_SUBSCRIPTION_ID/resourceGroups/$env:AZURE_RESOURCE_GROUP/providers/Microsoft.App/containerApps/$env:CONTAINER_WEB_APP_NAME" -ForegroundColor Cyan

Write-Host "🧭 API App Details:"
Write-Host "✅ Name: $env:CONTAINER_API_APP_NAME"
Write-Host "🌐 Endpoint: https://$env:CONTAINER_API_APP_FQDN"
Write-Host "🔗 Portal URL: https://portal.azure.com/#resource/subscriptions/$env:AZURE_SUBSCRIPTION_ID/resourceGroups/$env:AZURE_RESOURCE_GROUP/providers/Microsoft.App/containerApps/$env:CONTAINER_API_APP_NAME" -ForegroundColor Cyan
run: ./infra/scripts/post_deployment.ps1
interactive: true
9 changes: 6 additions & 3 deletions infra/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,9 @@ param enableRedundancy bool = false
@description('Optional. Enable scalability for applicable resources, aligned with the Well Architected Framework recommendations. Defaults to false.')
param enableScalability bool = false

@description('Optional. Enable purge protection. Defaults to false.')
param enablePurgeProtection bool = false

@description('Optional. Tags to be applied to the resources.')
param tags resourceInput<'Microsoft.Resources/resourceGroups@2025-04-01'>.tags = {
app: 'Content Processing Solution Accelerator'
Expand Down Expand Up @@ -987,7 +990,7 @@ module avmAppConfig 'br/public:avm/res/app-configuration/configuration-store:0.6
params: {
name: 'appcs-${solutionSuffix}'
location: resourceGroupLocation
enablePurgeProtection: false
enablePurgeProtection: enablePurgeProtection
tags: {
app: solutionSuffix
location: resourceGroupLocation
Expand Down Expand Up @@ -1100,7 +1103,7 @@ module avmAppConfig 'br/public:avm/res/app-configuration/configuration-store:0.6
}
{
name: 'APP_AI_PROJECT_ENDPOINT'
value: avmAiServices.outputs.aiProjectInfo.apiEndpoint
value: avmAiServices.outputs.aiProjectInfo.?apiEndpoint ?? ''
}
{
name: 'APP_COSMOS_CONNSTR'
Expand Down Expand Up @@ -1367,4 +1370,4 @@ output CONTAINER_REGISTRY_NAME string = avmContainerRegistry.outputs.name
output CONTAINER_REGISTRY_LOGIN_SERVER string = avmContainerRegistry.outputs.loginServer

@description('The resource group the resources were deployed into.')
output resourceGroupName string = resourceGroup().name
output AZURE_RESOURCE_GROUP string = resourceGroup().name
21 changes: 14 additions & 7 deletions infra/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"_generator": {
"name": "bicep",
"version": "0.37.4.10188",
"templateHash": "6682056177373814634"
"templateHash": "10045374231657176554"
},
"name": "Content Processing Solution Accelerator",
"description": "Bicep template to deploy the Content Processing Solution Accelerator with AVM compliance."
Expand Down Expand Up @@ -154,6 +154,13 @@
"description": "Optional. Enable scalability for applicable resources, aligned with the Well Architected Framework recommendations. Defaults to false."
}
},
"enablePurgeProtection": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Optional. Enable purge protection. Defaults to false."
}
},
"tags": {
"type": "object",
"metadata": {
Expand Down Expand Up @@ -38703,10 +38710,10 @@
"dependsOn": [
"avmContainerApp",
"avmManagedIdentity",
"[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').contentUnderstanding)]",
"[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').aiServices)]",
"[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').cognitiveServices)]",
"[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').openAI)]",
"[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').aiServices)]",
"[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').contentUnderstanding)]",
"logAnalyticsWorkspace",
"virtualNetwork"
]
Expand Down Expand Up @@ -41044,8 +41051,8 @@
"dependsOn": [
"avmContainerApp",
"avmManagedIdentity",
"[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').contentUnderstanding)]",
"[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').cognitiveServices)]",
"[format('avmPrivateDnsZones[{0}]', variables('dnsZoneIndex').contentUnderstanding)]",
"virtualNetwork"
]
},
Expand Down Expand Up @@ -50941,7 +50948,7 @@
"value": "[parameters('resourceGroupLocation')]"
},
"enablePurgeProtection": {
"value": false
"value": "[parameters('enablePurgeProtection')]"
},
"tags": {
"value": {
Expand Down Expand Up @@ -51060,7 +51067,7 @@
},
{
"name": "APP_AI_PROJECT_ENDPOINT",
"value": "[reference('avmAiServices').outputs.aiProjectInfo.value.apiEndpoint]"
"value": "[coalesce(tryGet(reference('avmAiServices').outputs.aiProjectInfo.value, 'apiEndpoint'), '')]"
},
{
"name": "APP_COSMOS_CONNSTR",
Expand Down Expand Up @@ -58237,7 +58244,7 @@
},
"value": "[reference('avmContainerRegistry').outputs.loginServer.value]"
},
"resourceGroupName": {
"AZURE_RESOURCE_GROUP": {
"type": "string",
"metadata": {
"description": "The resource group the resources were deployed into."
Expand Down
2 changes: 0 additions & 2 deletions infra/scripts/post_deployment.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ set -e

echo "🔍 Fetching container app info from azd environment..."

echo "Started at: $(date)"

# Load values from azd env
CONTAINER_WEB_APP_NAME=$(azd env get-value CONTAINER_WEB_APP_NAME)
CONTAINER_WEB_APP_FQDN=$(azd env get-value CONTAINER_WEB_APP_FQDN)
Expand Down
2 changes: 1 addition & 1 deletion src/ContentProcessor/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ azure-storage-blob>=12.24.1
azure-storage-queue>=12.12.0
certifi>=2024.12.14
charset-normalizer>=3.4.1
openai==1.65.5
openai==2.0.0
pandas>=2.2.3
pdf2image>=1.17.0
poppler-utils>=0.1.0
Expand Down
Loading