Skip to content

Commit 2e8acdc

Browse files
Merge remote-tracking branch 'origin/main' into demo
2 parents f9c2ab9 + fd31b0b commit 2e8acdc

244 files changed

Lines changed: 88537 additions & 43634 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.devcontainer/setupEnv.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ yarn install
2323
cd ../../
2424

2525
echo "Setting up executable permission for shell scripts"
26-
sed -i 's/\r$//' ./infra/scripts/post_deployment.sh
27-
sudo chmod +x ./infra/scripts/docker-build.sh
28-
sudo chmod +x ./infra/scripts/post_deployment.sh
29-
sudo chmod +x ./src/ContentProcessorAPI/samples/upload_files.sh
30-
sudo chmod +x ./src/ContentProcessorAPI/samples/schemas/register_schema.sh
26+
sed -i 's/\r$//' infra/scripts/post_deployment.sh
27+
sudo chmod +x infra/scripts/docker-build.sh
28+
sudo chmod +x infra/scripts/post_deployment.sh
29+
sudo chmod +x src/ContentProcessorAPI/samples/upload_files.sh
30+
sudo chmod +x src/ContentProcessorAPI/samples/schemas/register_schema.sh
3131

3232
echo "Setup complete! 🎉"

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
# Each line is a file pattern followed by one or more owners.
33

44
# These owners will be the default owners for everything in the repo.
5-
* @Avijit-Microsoft @Roopan-Microsoft @Prajwal-Microsoft @Vinay-Microsoft @aniaroramsft
5+
* @Avijit-Microsoft @Roopan-Microsoft @Prajwal-Microsoft @Vinay-Microsoft @aniaroramsft @toherman-msft @nchandhi @dgp10801

.github/dependabot.yml

Lines changed: 52 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,56 @@
11
version: 2
22
updates:
3-
# GitHub Actions dependencies
4-
- package-ecosystem: "github-actions"
5-
directory: "/"
6-
schedule:
7-
interval: "monthly"
8-
commit-message:
9-
prefix: "build"
10-
target-branch: "dependabotchanges"
11-
open-pull-requests-limit: 100
3+
# GitHub Actions dependencies (grouped)
4+
- package-ecosystem: "github-actions"
5+
directory: "/"
6+
schedule:
7+
interval: "monthly"
8+
commit-message:
9+
prefix: "build"
10+
target-branch: "dependabotchanges"
11+
open-pull-requests-limit: 10
12+
groups:
13+
all-actions:
14+
patterns:
15+
- "*"
16+
# uv dependencies (grouped)
17+
- package-ecosystem: "uv"
18+
directory: "/src/ContentProcessor"
19+
schedule:
20+
interval: "monthly"
21+
commit-message:
22+
prefix: "build"
23+
target-branch: "dependabotchanges"
24+
open-pull-requests-limit: 10
25+
groups:
26+
all-uv-deps:
27+
patterns:
28+
- "*"
1229

30+
# uv dependencies (grouped)
31+
- package-ecosystem: "uv"
32+
directory: "/src/ContentProcessorAPI"
33+
schedule:
34+
interval: "monthly"
35+
commit-message:
36+
prefix: "build"
37+
target-branch: "dependabotchanges"
38+
open-pull-requests-limit: 10
39+
groups:
40+
all-uv-deps:
41+
patterns:
42+
- "*"
1343

14-
- package-ecosystem: "pip"
15-
directory: "/src/ContentProcessorAPI"
16-
schedule:
17-
interval: "monthly"
18-
commit-message:
19-
prefix: "build"
20-
target-branch: "dependabotchanges"
21-
open-pull-requests-limit: 100
22-
23-
24-
25-
26-
- package-ecosystem: "npm"
27-
directory: "/src/ContentProcessorWeb"
28-
schedule:
29-
interval: "monthly"
30-
commit-message:
31-
prefix: "build"
32-
target-branch: "dependabotchanges"
33-
open-pull-requests-limit: 100
44+
# npm dependencies (grouped)
45+
- package-ecosystem: "npm"
46+
directory: "/src/ContentProcessorWeb"
47+
schedule:
48+
interval: "monthly"
49+
commit-message:
50+
prefix: "build"
51+
target-branch: "dependabotchanges"
52+
open-pull-requests-limit: 10
53+
groups:
54+
all-npm-deps:
55+
patterns:
56+
- "*"

.github/workflows/azure-dev.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,22 @@ jobs:
1616
steps:
1717
# Step 1: Checkout the code from your repository
1818
- name: Checkout code
19-
uses: actions/checkout@v4
19+
uses: actions/checkout@v5
2020

2121
# Step 2: Validate the Azure template using microsoft/template-validation-action
2222
- name: Validate Azure Template
23-
uses: microsoft/template-validation-action@v0.3.5
23+
uses: microsoft/template-validation-action@v0.4.3
2424
id: validation
25+
with:
26+
useDevContainer: false
2527
env:
2628
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
2729
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
2830
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
2931
AZURE_ENV_NAME: ${{ secrets.AZURE_ENV_NAME }}
3032
AZURE_LOCATION: ${{ secrets.AZURE_LOCATION }}
3133
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34+
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
3235

3336
# Step 3: Print the result of the validation
3437
- name: Print result
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Broken Link Checker
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- '**/*.md'
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
markdown-link-check:
14+
name: Check Markdown Broken Links
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout Repo
19+
uses: actions/checkout@v5
20+
with:
21+
fetch-depth: 0
22+
23+
# For PR : Get only changed markdown files
24+
- name: Get changed markdown files (PR only)
25+
id: changed-markdown-files
26+
if: github.event_name == 'pull_request'
27+
uses: tj-actions/changed-files@24d32ffd492484c1d75e0c0b894501ddb9d30d62 # v46
28+
with:
29+
files: |
30+
**/*.md
31+
32+
33+
# For PR: Check broken links only in changed files
34+
- name: Check Broken Links in Changed Markdown Files
35+
id: lychee-check-pr
36+
if: github.event_name == 'pull_request' && steps.changed-markdown-files.outputs.any_changed == 'true'
37+
uses: lycheeverse/lychee-action@v2.6.1
38+
with:
39+
args: >
40+
--verbose --no-progress --exclude ^https?://
41+
${{ steps.changed-markdown-files.outputs.all_changed_files }}
42+
failIfEmpty: false
43+
env:
44+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45+
46+
# For manual trigger: Check all markdown files in repo
47+
- name: Check Broken Links in All Markdown Files in Entire Repo (Manual Trigger)
48+
id: lychee-check-manual
49+
if: github.event_name == 'workflow_dispatch'
50+
uses: lycheeverse/lychee-action@v2.6.1
51+
with:
52+
args: >
53+
--verbose --no-progress --exclude ^https?://
54+
'**/*.md'
55+
failIfEmpty: false
56+
env:
57+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/build-docker-image.yml

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,23 +18,28 @@ jobs:
1818

1919
steps:
2020
- name: Checkout repository
21-
uses: actions/checkout@v2
21+
uses: actions/checkout@v5
2222

2323
- name: Set up Docker Buildx
24-
uses: docker/setup-buildx-action@v1
24+
uses: docker/setup-buildx-action@v3
2525

2626
- name: Get current date
2727
id: date
2828
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
2929

3030
- name: Log in to Azure Container Registry
31-
if: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' }}
31+
if: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' || github.ref_name == 'dependabotchanges' }}
3232
uses: azure/docker-login@v2
3333
with:
3434
login-server: ${{ env.ACR_LOGIN_SERVER }}
3535
username: ${{ env.ACR_USERNAME }}
3636
password: ${{ env.ACR_PASSWORD }}
37-
37+
38+
- name: Get registry
39+
id: registry
40+
run: |
41+
echo "ext_registry=${{ env.ACR_LOGIN_SERVER || 'acrlogin.azurecr.io'}}" >> $GITHUB_OUTPUT
42+
3843
- name: Set Docker image tags
3944
id: tag
4045
run: |
@@ -49,6 +54,9 @@ jobs:
4954
BASE_TAG="demo"
5055
elif [[ "$BRANCH" == "hotfix" ]]; then
5156
BASE_TAG="hotfix"
57+
elif [[ "$BRANCH" == "dependabotchanges" ]]; then
58+
BASE_TAG="dependabotchanges"
59+
5260
else
5361
BASE_TAG="pullrequest-ignore"
5462
fi
@@ -62,27 +70,27 @@ jobs:
6270
with:
6371
context: ./src/ContentProcessor
6472
file: ./src/ContentProcessor/Dockerfile
65-
push: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' }}
73+
push: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' || github.ref_name == 'dependabotchanges' }}
6674
tags: |
67-
${{ env.ACR_LOGIN_SERVER }}/contentprocessor:${{ env.BASE_TAG }}
68-
${{ env.ACR_LOGIN_SERVER }}/contentprocessor:${{ env.DATE_TAG }}
75+
${{ steps.registry.outputs.ext_registry }}/contentprocessor:${{ env.BASE_TAG }}
76+
${{ steps.registry.outputs.ext_registry }}/contentprocessor:${{ env.DATE_TAG }}
6977
7078
- name: Build and Push ContentProcessorAPI Docker image
7179
uses: docker/build-push-action@v6
7280
with:
7381
context: ./src/ContentProcessorAPI
7482
file: ./src/ContentProcessorAPI/Dockerfile
75-
push: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' }}
83+
push: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' || github.ref_name == 'dependabotchanges' }}
7684
tags: |
77-
${{ env.ACR_LOGIN_SERVER }}/contentprocessorapi:${{ env.BASE_TAG }}
78-
${{ env.ACR_LOGIN_SERVER }}/contentprocessorapi:${{ env.DATE_TAG }}
85+
${{ steps.registry.outputs.ext_registry }}/contentprocessorapi:${{ env.BASE_TAG }}
86+
${{ steps.registry.outputs.ext_registry }}/contentprocessorapi:${{ env.DATE_TAG }}
7987
8088
- name: Build and Push ContentProcessorWeb Docker image
8189
uses: docker/build-push-action@v6
8290
with:
8391
context: ./src/ContentProcessorWeb
8492
file: ./src/ContentProcessorWeb/Dockerfile
85-
push: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' }}
93+
push: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' || github.ref_name == 'dependabotchanges' }}
8694
tags: |
87-
${{ env.ACR_LOGIN_SERVER }}/contentprocessorweb:${{ env.BASE_TAG }}
88-
${{ env.ACR_LOGIN_SERVER }}/contentprocessorweb:${{ env.DATE_TAG }}
95+
${{ steps.registry.outputs.ext_registry }}/contentprocessorweb:${{ env.BASE_TAG }}
96+
${{ steps.registry.outputs.ext_registry }}/contentprocessorweb:${{ env.DATE_TAG }}

.github/workflows/create-release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- name: Checkout
17-
uses: actions/checkout@v4
17+
uses: actions/checkout@v5
1818
with:
1919
ref: ${{ github.event.workflow_run.head_sha }}
2020

21-
- uses: codfish/semantic-release-action@v3
21+
- uses: codfish/semantic-release-action@v4
2222
id: semantic
2323
with:
2424
tag-format: 'v${version}'

.github/workflows/deploy-linux.yml

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
name: Deploy-Test-Cleanup (v2) Linux
2+
on:
3+
push:
4+
branches:
5+
- main
6+
workflow_dispatch:
7+
inputs:
8+
azure_location:
9+
description: 'Azure Location For Deployment'
10+
required: false
11+
default: 'australiaeast'
12+
type: choice
13+
options:
14+
- 'australiaeast'
15+
- 'centralus'
16+
- 'eastasia'
17+
- 'eastus2'
18+
- 'japaneast'
19+
- 'northeurope'
20+
- 'southeastasia'
21+
- 'uksouth'
22+
resource_group_name:
23+
description: 'Resource Group Name (Optional)'
24+
required: false
25+
default: ''
26+
type: string
27+
28+
waf_enabled:
29+
description: 'Enable WAF'
30+
required: false
31+
default: false
32+
type: boolean
33+
EXP:
34+
description: 'Enable EXP'
35+
required: false
36+
default: false
37+
type: boolean
38+
build_docker_image:
39+
description: 'Build And Push Docker Image (Optional)'
40+
required: false
41+
default: false
42+
type: boolean
43+
44+
cleanup_resources:
45+
description: 'Cleanup Deployed Resources'
46+
required: false
47+
default: false
48+
type: boolean
49+
50+
run_e2e_tests:
51+
description: 'Run End-to-End Tests'
52+
required: false
53+
default: 'GoldenPath-Testing'
54+
type: choice
55+
options:
56+
- 'GoldenPath-Testing'
57+
- 'Smoke-Testing'
58+
- 'None'
59+
60+
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:
61+
description: 'Log Analytics Workspace ID (Optional)'
62+
required: false
63+
default: ''
64+
type: string
65+
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID:
66+
description: 'AI Project Resource ID (Optional)'
67+
required: false
68+
default: ''
69+
type: string
70+
existing_webapp_url:
71+
description: 'Existing Container WebApp URL (Skips Deployment)'
72+
required: false
73+
default: ''
74+
type: string
75+
76+
schedule:
77+
- cron: '0 9,21 * * *' # Runs at 9:00 AM and 9:00 PM GMT
78+
79+
jobs:
80+
Run:
81+
uses: ./.github/workflows/deploy-orchestrator.yml
82+
with:
83+
runner_os: ubuntu-latest
84+
azure_location: ${{ github.event.inputs.azure_location || 'australiaeast' }}
85+
resource_group_name: ${{ github.event.inputs.resource_group_name || '' }}
86+
waf_enabled: ${{ github.event.inputs.waf_enabled == 'true' }}
87+
EXP: ${{ github.event.inputs.EXP == 'true' }}
88+
build_docker_image: ${{ github.event.inputs.build_docker_image == 'true' }}
89+
cleanup_resources: ${{ github.event.inputs.cleanup_resources == 'true' }}
90+
run_e2e_tests: ${{ github.event.inputs.run_e2e_tests || 'GoldenPath-Testing' }}
91+
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ github.event.inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID || '' }}
92+
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ github.event.inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID || '' }}
93+
existing_webapp_url: ${{ github.event.inputs.existing_webapp_url || '' }}
94+
trigger_type: ${{ github.event_name }}
95+
secrets: inherit

0 commit comments

Comments
 (0)