Skip to content

Commit f4c2aeb

Browse files
Merge pull request #1024 from microsoft/psl-TASfeature
feat: merging main changes to feature branch
2 parents f584927 + b6cd0d2 commit f4c2aeb

344 files changed

Lines changed: 175429 additions & 14724 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.

.azdo/pipelines/azure-dev.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
# Run when commits are pushed to mainline branch (main or master)
22
# Set this to the mainline branch you are using
33
trigger:
4-
- main
4+
branches:
5+
include:
6+
- main
7+
paths:
8+
include:
9+
- src/*
10+
- infra/*
11+
- azure.yaml
12+
- azure_custom.yaml
13+
- .azdo/pipelines/azure-dev.yml
14+
exclude:
15+
- '*.md'
16+
- docs/*
17+
- data/*
518

619
# Azure Pipelines workflow to deploy to Azure using azd
720
# To configure required secrets and service connection for connecting to Azure, simply run `azd pipeline config --provider azdo`

.devcontainer/devcontainer.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@
77
"ghcr.io/devcontainers/features/docker-in-docker:2": {"version": "latest"},
88
"ghcr.io/azure/azure-dev/azd:latest": {},
99
"ghcr.io/devcontainers/features/node:1": {},
10-
"ghcr.io/devcontainers/features/azure-cli:1": {},
10+
"ghcr.io/devcontainers/features/azure-cli:1": {
11+
"installBicep": true,
12+
"version": "latest",
13+
"bicepVersion": "latest"
14+
},
1115
"ghcr.io/jsburckhardt/devcontainer-features/uv:1": {"shellautocompletion": true,
1216
"version": "latest"}
1317
},

.devcontainer/setupEnv.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ set -e
88

99
echo "Setting up Backend..."
1010
cd ./src/backend
11-
uv sync --frozen
11+
uv sync --frozen --extra dev
1212
cd ../../
1313

1414
echo "Setting up Frontend..."
15-
cd ./src/frontend
15+
cd ./src/App
1616
npm install
1717
pip install -r requirements.txt
1818
cd ../../

.github/agents/speckit.contentpack.agent.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ referenced in the KB registration.
153153

154154
### Step 3 — Register the Knowledge Base
155155

156-
Add an entry to `infra/scripts/seed_knowledge_bases.py` in the `KNOWLEDGE_BASES`
156+
Add an entry to `infra/scripts/post-provision/seed_knowledge_bases.py` in the `KNOWLEDGE_BASES`
157157
dict. Place it before the `# ── Example Pack ──` comment block:
158158

159159
```python
@@ -203,7 +203,7 @@ and **never hallucinate data**.
203203

204204
## Registering in the Deployment Script
205205

206-
Edit `infra/scripts/Selecting-Team-Config-And-Data.ps1`. Search for `NEW CONTENT PACK`
206+
Edit `infra/scripts/post-provision/Selecting-Team-Config-And-Data.ps1`. Search for `NEW CONTENT PACK`
207207
— each insertion point has a comment template. There are **4 things** to do:
208208

209209
| # | What | Where |
@@ -245,7 +245,7 @@ After adding your entry, update `$allOption` to `N + 1` so "All" is always last.
245245
azd up
246246

247247
# 2. Provision pack resources — select your pack or "All"
248-
./infra/scripts/Selecting-Team-Config-And-Data.ps1 -ResourceGroup <rg>
248+
./infra/scripts/post-provision/Selecting-Team-Config-And-Data.ps1 -ResourceGroup <rg>
249249
```
250250

251251
---

.github/dependabot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ updates:
3232
- "*"
3333

3434
- package-ecosystem: "pip"
35-
directory: "/src/frontend"
35+
directory: "/src/App"
3636
schedule:
3737
interval: "monthly"
3838
commit-message:

.github/requirements.txt

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
fastapi==0.137.1
2+
uvicorn==0.49.0
3+
autogen-agentchat==0.7.5
4+
azure-cosmos==4.16.1
5+
azure-monitor-opentelemetry==1.8.8
6+
azure-monitor-events-extension==0.1.0
7+
azure-identity==1.25.3
8+
python-dotenv==1.2.2
9+
python-multipart==0.0.32
10+
opentelemetry-api==1.40.0
11+
opentelemetry-sdk==1.40.0
12+
opentelemetry-exporter-otlp-proto-grpc==1.40.0
13+
opentelemetry-instrumentation-fastapi==0.61b0
14+
opentelemetry-instrumentation-openai==0.61.0
15+
opentelemetry-exporter-otlp-proto-http==1.40.0
16+
17+
semantic-kernel[azure]==1.32.2
18+
azure-ai-projects==1.0.0b11
19+
openai==1.84.0
20+
azure-ai-inference==1.0.0b9
21+
azure-search-documents==12.1.0b1
22+
azure-ai-evaluation==1.11.0
23+
24+
# Date and internationalization
25+
babel==2.18.0
26+
27+
# Testing tools
28+
pytest==8.4.2 # Compatible version for pytest-asyncio
29+
pytest-asyncio==0.24.0
30+
pytest-cov==5.0.0

.github/workflows/agnext-biab-02-containerimage.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@ jobs:
2828
password: ${{ secrets.GITHUB_TOKEN }}
2929
- name: Extract metadata (tags, labels) for Docker
3030
id: meta
31-
uses: docker/metadata-action@v5
31+
uses: docker/metadata-action@v6
3232
with:
3333
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
3434
tags: |
3535
type=ref,event=branch
3636
type=sha
3737
- name: Build and push Docker image
38-
uses: docker/build-push-action@v6
38+
uses: docker/build-push-action@v7
3939
with:
4040
context: agnext-biab-02/
4141
file: agnext-biab-02/Dockerfile
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: AZD Template Validation
2+
on:
3+
schedule:
4+
- cron: '30 1 * * 4' # Every Thursday at 7:00 AM IST (1:30 AM UTC)
5+
workflow_dispatch:
6+
7+
permissions:
8+
contents: read
9+
id-token: write
10+
pull-requests: write
11+
12+
jobs:
13+
template_validation:
14+
runs-on: ubuntu-latest
15+
name: azd template validation
16+
environment: production
17+
steps:
18+
- uses: actions/checkout@v6
19+
20+
- name: Set timestamp
21+
run: echo "HHMM=$(date -u +'%H%M')" >> $GITHUB_ENV
22+
23+
- uses: microsoft/template-validation-action@v0.4.4
24+
with:
25+
validateAzd: ${{ vars.TEMPLATE_VALIDATE_AZD }}
26+
validateTests: ${{ vars.TEMPLATE_VALIDATE_TESTS }}
27+
useDevContainer: ${{ vars.TEMPLATE_USE_DEV_CONTAINER }}
28+
id: validation
29+
env:
30+
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
31+
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
32+
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
33+
AZURE_ENV_NAME: azd-${{ vars.AZURE_ENV_NAME }}-${{ env.HHMM }}
34+
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
35+
AZURE_ENV_AI_SERVICE_LOCATION: ${{ vars.AZURE_AI_DEPLOYMENT_LOCATION }}
36+
AZURE_ENV_GPT_MODEL_CAPACITY: 1
37+
AZURE_ENV_MODEL_4_1_CAPACITY: 1 # keep low to avoid potential quota issues
38+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39+
40+
- name: print result
41+
run: cat ${{ steps.validation.outputs.resultFile }}

.github/workflows/azure-dev.yml

Lines changed: 48 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,59 @@
1-
name: Azure Template Validation
1+
name: Azure Dev Deploy
2+
23
on:
34
workflow_dispatch:
45

56
permissions:
67
contents: read
78
id-token: write
8-
pull-requests: write
99

1010
jobs:
11-
template_validation_job:
11+
deploy:
1212
runs-on: ubuntu-latest
1313
environment: production
14-
name: template validation
14+
env:
15+
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
16+
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
17+
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
18+
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
19+
AZURE_ENV_AI_SERVICE_LOCATION: ${{ vars.AZURE_AI_DEPLOYMENT_LOCATION }}
20+
AZURE_ENV_GPT_MODEL_CAPACITY: 1
21+
AZURE_ENV_MODEL_4_1_CAPACITY: 1
22+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
23+
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
1524
steps:
16-
# Step 1: Checkout the code from your repository
17-
- name: Checkout code
18-
uses: actions/checkout@v4
19-
# Step 2: Validate the Azure template using microsoft/template-validation-action
20-
- name: Validate Azure Template
21-
uses: microsoft/template-validation-action@bae4895d0a8abd4f0d5aad68ae8647b3027f4c91
22-
with:
23-
validateAzd: true
24-
useDevContainer: false
25-
id: validation
26-
env:
27-
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
28-
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
29-
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
30-
AZURE_ENV_NAME: ${{ secrets.AZURE_ENV_NAME }}
31-
AZURE_LOCATION: ${{ secrets.AZURE_LOCATION }}
32-
AZURE_ENV_OPENAI_LOCATION : ${{ secrets.AZURE_AI_DEPLOYMENT_LOCATION }}
33-
AZURE_ENV_MODEL_CAPACITY: 1
34-
AZURE_ENV_MODEL_4_1_CAPACITY: 1
35-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36-
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
37-
38-
# Step 3: Print the result of the validation
39-
- name: print result
40-
run: cat ${{ steps.validation.outputs.resultFile }}
25+
- name: Checkout Code
26+
uses: actions/checkout@v6
27+
28+
- name: Set timestamp and env name
29+
run: |
30+
HHMM=$(date -u +'%H%M')
31+
echo "AZURE_ENV_NAME=azd-${{ vars.AZURE_ENV_NAME }}-${HHMM}" >> $GITHUB_ENV
32+
33+
- name: Install azd
34+
uses: Azure/setup-azd@v2
35+
36+
- name: Login to Azure
37+
uses: azure/login@v3
38+
with:
39+
client-id: ${{ secrets.AZURE_CLIENT_ID }}
40+
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
41+
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
42+
43+
- name: Login to AZD
44+
shell: bash
45+
run: |
46+
azd auth login \
47+
--client-id "$AZURE_CLIENT_ID" \
48+
--federated-credential-provider "github" \
49+
--tenant-id "$AZURE_TENANT_ID"
50+
51+
- name: Provision and Deploy
52+
shell: bash
53+
run: |
54+
if ! azd env select "$AZURE_ENV_NAME"; then
55+
azd env new "$AZURE_ENV_NAME" --subscription "$AZURE_SUBSCRIPTION_ID" --location "$AZURE_LOCATION" --no-prompt
56+
fi
57+
azd config set defaults.subscription "$AZURE_SUBSCRIPTION_ID"
58+
azd env set AZURE_ENV_AI_SERVICE_LOCATION="$AZURE_ENV_AI_SERVICE_LOCATION"
59+
azd up --no-prompt

.github/workflows/broken-links-checker.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ jobs:
1616

1717
steps:
1818
- name: Checkout Repo
19-
uses: actions/checkout@v4
19+
uses: actions/checkout@v6
2020
with:
2121
fetch-depth: 0
2222

2323
# For PR : Get only changed markdown files
2424
- name: Get changed markdown files (PR only)
2525
id: changed-markdown-files
2626
if: github.event_name == 'pull_request'
27-
uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c # v46
27+
uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6
2828
with:
2929
files: |
3030
**/*.md
@@ -34,10 +34,10 @@ jobs:
3434
- name: Check Broken Links in Changed Markdown Files
3535
id: lychee-check-pr
3636
if: github.event_name == 'pull_request' && steps.changed-markdown-files.outputs.any_changed == 'true'
37-
uses: lycheeverse/lychee-action@v2.4.1
37+
uses: lycheeverse/lychee-action@v2.8.0
3838
with:
3939
args: >
40-
--verbose --exclude-mail --no-progress --exclude ^https?://
40+
--verbose --no-progress --exclude ^https?://
4141
${{ steps.changed-markdown-files.outputs.all_changed_files }}
4242
failIfEmpty: false
4343
env:
@@ -47,10 +47,10 @@ jobs:
4747
- name: Check Broken Links in All Markdown Files in Entire Repo (Manual Trigger)
4848
id: lychee-check-manual
4949
if: github.event_name == 'workflow_dispatch'
50-
uses: lycheeverse/lychee-action@v2.4.1
50+
uses: lycheeverse/lychee-action@v2.8.0
5151
with:
5252
args: >
53-
--verbose --exclude-mail --no-progress --exclude ^https?://
53+
--verbose --no-progress --exclude ^https?://
5454
'**/*.md'
5555
failIfEmpty: false
5656
env:

0 commit comments

Comments
 (0)