Skip to content
Draft
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
9e541fe
build: bump the npm-deps group across 2 directories with 18 updates
dependabot[bot] Mar 1, 2026
20d9c8b
build: bump the python-deps group across 3 directories with 4 updates
dependabot[bot] Mar 1, 2026
2aa55e5
build: bump the github-actions group with 7 updates
dependabot[bot] Mar 1, 2026
0ac9732
build: bump the github-actions group with 4 updates
dependabot[bot] Mar 16, 2026
bb4eabf
refactor: UI code cleanup and folder restructure
Shubhangi-Microsoft Apr 16, 2026
a8a8125
Add pytest coverage comment to PRs
Rafi-Microsoft Apr 16, 2026
f8bf49a
Merge branch 'dev' of https://github.com/microsoft/content-generation…
Shubhangi-Microsoft Apr 17, 2026
338442f
Merge branch 'dev' into rc-dependabotchanges
Ragini-Microsoft Apr 20, 2026
4f183a1
fix: update server.js for Express 5 and http-proxy-middleware v3 comp…
Ragini-Microsoft Apr 20, 2026
76e63ed
Merge pull request #816 from microsoft/psl-add-coverage-pr-comment
Roopan-Microsoft Apr 20, 2026
e03e3ae
Merge pull request #814 from microsoft/psl-ui-refractoring
Roopan-Microsoft Apr 20, 2026
e11b916
Merge branch 'dev' of https://github.com/microsoft/content-generation…
Ragini-Microsoft Apr 20, 2026
ea02b51
updated the dependabot packages
Ragini-Microsoft Apr 20, 2026
1d3c341
fix: correct route definition for SPA support in server.js
Ragini-Microsoft Apr 20, 2026
33c9f90
Merge pull request #819 from microsoft/rc-dependabot-changes
Roopan-Microsoft Apr 21, 2026
4ce0d68
Removed the bicep paramater
Dhruvkumar-Microsoft Apr 21, 2026
e535e24
Update Bicep modules and resources to latest versions
Akhileswara-Microsoft Apr 21, 2026
b5bb2db
Merge pull request #821 from microsoft/AVM_Bicep_Versions_Update_Akhi…
Roopan-Microsoft Apr 22, 2026
bcc61af
Merge pull request #820 from microsoft/feature/remove-bicep-version
Roopan-Microsoft Apr 22, 2026
dc95c0a
fix: resolve PR review comments - expand CI path filters and remove n…
Shubhangi-Microsoft Apr 23, 2026
ea6367e
Merge pull request #824 from microsoft/psl-dev-fixes
Roopan-Microsoft Apr 23, 2026
ba4b53b
fix: check Content-Type before parsing JSON in fetchExternal (#40958)
Pavan-Microsoft Apr 23, 2026
0c03956
Revert "fix: check Content-Type before parsing JSON in fetchExternal …
Pavan-Microsoft Apr 23, 2026
93463a9
fix: add content-type check for non-JSON responses in HttpClient
Pavan-Microsoft Apr 23, 2026
5756ebd
fix: include content-type in error message for non-JSON responses in …
Pavan-Microsoft Apr 23, 2026
5125900
fix: add content-type check for non-JSON responses in HttpClient
Avijit-Microsoft Apr 23, 2026
33d2474
fix: update API versions in Bicep and JSON files to latest specificat…
Akhileswara-Microsoft Apr 23, 2026
705bd66
Merge pull request #827 from microsoft/AVM_Bicep_Versions_Update_Akhi…
Roopan-Microsoft Apr 23, 2026
e618f1c
fix: resolve Dependabot security alerts (vite, picomatch, path-to-reg…
Shubhangi-Microsoft Apr 9, 2026
06d3daa
fix: resolve dependabot security alerts - upgrade uuid to v14
Shubhangi-Microsoft Apr 24, 2026
ca921f2
fix: resolve Dependabot security alerts (vite, picomatch, path-to-reg…
Avijit-Microsoft Apr 24, 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 .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ updates:
# npm dependencies - grouped
- package-ecosystem: "npm"
directories:
- "/src/app/frontend"
- "/src/app/frontend-server"
- "/src/App"
- "/src/App/server"
schedule:
interval: "monthly"
target-branch: "dependabotchanges"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/azure-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:

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

- name: Set timestamp and env name
shell: bash
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/broken-links-checker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- name: Get changed markdown files (PR only)
id: changed-markdown-files
if: github.event_name == 'pull_request'
uses: tj-actions/changed-files@e0021407031f5be11a464abee9a0776171c79891 # v46
uses: tj-actions/changed-files@22103cc46bda19c2b464ffe86db46df6922fd323 # v46
with:
files: |
**/*.md
Expand All @@ -35,7 +35,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.7.0
uses: lycheeverse/lychee-action@v2.8.0
with:
args: >
--verbose --no-progress --exclude ^https?://
Expand All @@ -48,7 +48,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.7.0
uses: lycheeverse/lychee-action@v2.8.0
with:
args: >
--verbose --no-progress --exclude ^https?://
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/create-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
ref: ${{ github.sha }}

- uses: codfish/semantic-release-action@v3
- uses: codfish/semantic-release-action@v5
id: semantic
with:
tag-format: 'v${version}'
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/docker-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ on:
- demo
paths:
- 'src/backend/**'
- 'src/app/frontend/**'
- 'src/app/frontend-server/**'
- 'src/App/src/**'
- 'src/App/server/**'
- '.github/workflows/docker-build.yml'
Comment thread
Ragini-Microsoft marked this conversation as resolved.
pull_request:
types:
Expand All @@ -23,8 +23,8 @@ on:
- demo
paths:
- 'src/backend/**'
- 'src/app/frontend/**'
- 'src/app/frontend-server/**'
- 'src/App/src/**'
- 'src/App/server/**'
- '.github/workflows/docker-build.yml'
workflow_dispatch:

Expand All @@ -44,10 +44,10 @@ jobs:

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

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v4

- name: Login to Azure (OIDC)
if: ${{ (github.event_name == 'push' && (github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo')) || (github.event_name == 'workflow_dispatch' && (github.ref_name == 'dependabotchanges'||github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo')) }}
Expand Down Expand Up @@ -86,17 +86,17 @@ jobs:

fi
- name: Build and Push Docker Image for Frontend Server
uses: docker/build-push-action@v6
uses: docker/build-push-action@v7
with:
context: ./src/app
file: ./src/app/WebApp.Dockerfile
context: ./src/App
file: ./src/App/WebApp.Dockerfile
push: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'dependabotchanges' }}
tags: |
${{ secrets.ACR_LOGIN_SERVER || 'acrlogin.azurecr.io' }}/content-gen-app:${{ steps.determine_tag.outputs.tagname }}
${{ secrets.ACR_LOGIN_SERVER || 'acrlogin.azurecr.io' }}/content-gen-app:${{ steps.determine_tag.outputs.tagname }}_${{ steps.date.outputs.date }}_${{ github.run_number }}

- name: Build and Push Docker Image for Backend Server
uses: docker/build-push-action@v6
uses: docker/build-push-action@v7
with:
context: ./src/backend
file: ./src/backend/ApiApp.Dockerfile
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/job-docker-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
echo "Generated unique Docker tag: $UNIQUE_TAG"

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v4

- name: Login to Azure (OIDC)
uses: azure/login@v2
Expand All @@ -65,16 +65,16 @@ jobs:
env:
DOCKER_BUILD_SUMMARY: false
with:
context: ./src/app
file: ./src/app/WebApp.Dockerfile
context: ./src/App
file: ./src/App/WebApp.Dockerfile
push: true
tags: |
${{ secrets.ACR_TEST_LOGIN_SERVER }}/content-gen-app:${{ steps.generate_docker_tag.outputs.AZURE_ENV_IMAGE_TAG }}
${{ secrets.ACR_TEST_LOGIN_SERVER }}/content-gen-app:${{ steps.generate_docker_tag.outputs.AZURE_ENV_IMAGE_TAG }}_${{ github.run_number }}

- name: Build and Push Docker Image for Backend Server
id: build_push_backend
uses: docker/build-push-action@v6
uses: docker/build-push-action@v7
env:
DOCKER_BUILD_SUMMARY: false
with:
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 }}
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@v5
uses: actions/checkout@v6

- 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 @@ -67,7 +67,7 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload CSV Report of Inactive Branches
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
with:
name: merged-branches-report
path: merged_branches_report.csv
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-automation-v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ jobs:

- name: Upload test report
id: upload_report
uses: actions/upload-artifact@v6
uses: actions/upload-artifact@v7
if: always()
with:
name: test-report
Expand Down
15 changes: 14 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ on:
permissions:
contents: read
actions: read
pull-requests: write

concurrency:
group: test-${{ github.ref }}
Expand Down Expand Up @@ -69,7 +70,19 @@ jobs:
- name: Run Backend Tests with Coverage
if: env.skip_backend_tests == 'false'
run: |
pytest --cov=. --cov-report=term-missing --cov-report=xml ./src/tests
pytest --cov=. --cov-report=term-missing --cov-report=xml --junitxml=pytest.xml ./src/tests

- name: Pytest Coverage Comment
if: |
always() &&
github.event_name == 'pull_request' &&
github.event.pull_request.head.repo.fork == false &&
env.skip_backend_tests == 'false'
uses: MishaKav/pytest-coverage-comment@26f986d2599c288bb62f623d29c2da98609e9cd4 # v1.6.0
with:
pytest-xml-coverage-path: coverage.xml
junitxml-path: pytest.xml
report-only-changed-files: true

- name: Skip Backend Tests
if: env.skip_backend_tests == 'true'
Expand Down
12 changes: 6 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@ eggs/
*.swo

# Node
/src/app/frontend/node_modules/
/src/app/frontend-server/node_modules/
/src/app/frontend-server/static/
/src/app/frontend-server/*.zip
/src/App/node_modules/
/src/App/server/node_modules/
/src/App/server/static/
/src/App/server/*.zip
node_modules/

# Build output
/src/app/static/
/src/app/frontend/dist/
/src/App/static/
/src/App/dist/

# Logs
*.log
Expand Down
1 change: 0 additions & 1 deletion azure.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ metadata:

requiredVersions:
azd: '>= 1.18.0 != 1.23.9'
bicep: '>= 0.33.0'

parameters:
solutionPrefix:
Expand Down
2 changes: 1 addition & 1 deletion azure_custom.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ infra:

services:
frontend:
project: ./src/app/frontend-server
project: ./src/App/server
language: js
host: appservice
dist: ./dist
Expand Down
4 changes: 2 additions & 2 deletions docs/AZD_DEPLOYMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ Error: az acr build failed
**Solution**: Check the Dockerfile and ensure all required files are present:
```bash
# Manual build for debugging
cd src/app
cd src/App
docker build -f WebApp.Dockerfile -t content-gen-app:test .
```

Expand All @@ -251,7 +251,7 @@ Error: az webapp deploy failed

**Solution**: Ensure the frontend builds successfully:
```bash
cd src/app/frontend
cd src/App
npm install
npm run build
```
Expand Down
2 changes: 1 addition & 1 deletion docs/TECHNICAL_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ pip install -r requirements.txt
python app.py

# Frontend
cd src/app/frontend
cd src/App
npm install
npm run dev
```
Expand Down
12 changes: 6 additions & 6 deletions infra/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,7 @@ var dnsZoneIndex = {
}

@batchSize(5)
module avmPrivateDnsZones 'br/public:avm/res/network/private-dns-zone:0.8.0' = [
module avmPrivateDnsZones 'br/public:avm/res/network/private-dns-zone:0.8.1' = [
for (zone, i) in privateDnsZones: if (enablePrivateNetworking) {
name: take('avm.res.network.private-dns-zone.${replace(zone, '.', '-')}', 64)
params: {
Expand All @@ -525,7 +525,7 @@ module avmPrivateDnsZones 'br/public:avm/res/network/private-dns-zone:0.8.0' = [
]

// ========== AI Foundry: AI Services ========== //
module aiFoundryAiServices 'br/public:avm/res/cognitive-services/account:0.14.1' = if (!useExistingAiFoundryAiProject) {
module aiFoundryAiServices 'br/public:avm/res/cognitive-services/account:0.14.2' = if (!useExistingAiFoundryAiProject) {
name: take('avm.res.cognitive-services.account.${aiFoundryAiServicesResourceName}', 64)
params: {
name: aiFoundryAiServicesResourceName
Expand Down Expand Up @@ -589,7 +589,7 @@ module aiFoundryAiServices 'br/public:avm/res/cognitive-services/account:0.14.1'
}

// Create private endpoint for AI Services AFTER the account is fully provisioned
module aiServicesPrivateEndpoint 'br/public:avm/res/network/private-endpoint:0.11.1' = if (!useExistingAiFoundryAiProject && enablePrivateNetworking) {
module aiServicesPrivateEndpoint 'br/public:avm/res/network/private-endpoint:0.12.0' = if (!useExistingAiFoundryAiProject && enablePrivateNetworking) {
name: take('pep-ai-services-${aiFoundryAiServicesResourceName}', 64)
params: {
name: 'pep-${aiFoundryAiServicesResourceName}'
Expand Down Expand Up @@ -714,7 +714,7 @@ module aiSearch 'br/public:avm/res/search/search-service:0.12.0' = {
}

// ========== AI Search Connection to AI Services ========== //
resource aiSearchFoundryConnection 'Microsoft.CognitiveServices/accounts/projects/connections@2025-09-01' = if (!useExistingAiFoundryAiProject) {
resource aiSearchFoundryConnection 'Microsoft.CognitiveServices/accounts/projects/connections@2025-12-01' = if (!useExistingAiFoundryAiProject) {
name: '${aiFoundryAiServicesResourceName}/${aiFoundryAiProjectResourceName}/${aiSearchConnectionName}'
properties: {
category: 'CognitiveSearch'
Expand All @@ -735,7 +735,7 @@ var productImagesContainer = 'product-images'
var generatedImagesContainer = 'generated-images'
var dataContainer = 'data'

module storageAccount 'br/public:avm/res/storage/storage-account:0.31.1' = {
module storageAccount 'br/public:avm/res/storage/storage-account:0.32.0' = {
name: take('avm.res.storage.storage-account.${storageAccountName}', 64)
params: {
name: storageAccountName
Expand Down Expand Up @@ -803,7 +803,7 @@ var cosmosDBDatabaseName = 'content_generation_db'
var cosmosDBConversationsContainer = 'conversations'
var cosmosDBProductsContainer = 'products'

module cosmosDB 'br/public:avm/res/document-db/database-account:0.18.0' = {
module cosmosDB 'br/public:avm/res/document-db/database-account:0.19.0' = {
name: take('avm.res.document-db.database-account.${cosmosDBResourceName}', 64)
params: {
name: 'cosmos-${solutionSuffix}'
Expand Down
Loading
Loading