Skip to content

Commit bdf0288

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

496 files changed

Lines changed: 80453 additions & 46494 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.

.coverage

-52 KB
Binary file not shown.

.devcontainer/Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ FROM ghcr.io/astral-sh/uv:$UV_VERSION AS uv
77
# Use Debian-based VS Code Dev Container as base
88
FROM mcr.microsoft.com/vscode/devcontainers/base:$DEBIAN_VERSION
99

10+
ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0
11+
1012
# Install dependencies and Node.js 20+ from NodeSource
1113
RUN apt-get update \
1214
&& apt-get install -y --no-install-recommends \
@@ -15,13 +17,14 @@ RUN apt-get update \
1517
&& apt-get install -y nodejs \
1618
&& apt-get clean \
1719
&& rm -rf /var/lib/apt/lists/* \
18-
&& curl -fsSL https://aka.ms/install-azd.sh | bash
20+
&& curl -fsSL https://aka.ms/install-azd.sh | bash \
21+
&& ln -sf /usr/bin/python3 /usr/bin/python
1922

2023
# Copy UV binaries
2124
COPY --from=uv --chown=vscode: /uv /uvx /bin/
2225

2326
# Install global NPM packages
24-
RUN npm install -g tslint-to-eslint-config typescript yarn react-app-rewired
27+
RUN npm install -g tslint-to-eslint-config typescript react-app-rewired pnpm@10.28.2
2528

2629
# Set default shell
2730
SHELL ["/bin/bash", "-c"]

.devcontainer/setupEnv.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ cd ../../
1818

1919
echo "Installing dependencies for ContentProcessorWeb..."
2020
cd ./src/ContentProcessorWeb
21-
yarn install
21+
export HOME="${HOME:-/home/vscode}"
22+
pnpm install --store-dir "$HOME/.local/share/pnpm/store"
2223

2324
cd ../../
2425

@@ -27,6 +28,6 @@ sed -i 's/\r$//' infra/scripts/post_deployment.sh
2728
sudo chmod +x infra/scripts/docker-build.sh
2829
sudo chmod +x infra/scripts/post_deployment.sh
2930
sudo chmod +x src/ContentProcessorAPI/samples/upload_files.sh
30-
sudo chmod +x src/ContentProcessorAPI/samples/schemas/register_schema.sh
31+
# register_schema.py is cross-platform and does not need chmod
3132

3233
echo "Setup complete! 🎉"

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

Lines changed: 63 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,59 @@ name: Build and Push Docker Images
33
on:
44
push:
55
branches: [main, dev, demo, hotfix]
6+
paths:
7+
- 'src/ContentProcessor/src/**'
8+
- 'src/**/Dockerfile'
9+
- 'src/**/requirements.txt'
10+
- 'src/**/pyproject.toml'
11+
- 'src/ContentProcessorAPI/app/**'
12+
- 'src/ContentProcessorAPI/helpers/**'
13+
- 'src/ContentProcessorWeb/src/**'
14+
- 'src/ContentProcessorWeb/public/**'
15+
- 'src/ContentProcessorWeb/package.json'
16+
- 'src/ContentProcessorWeb/package-lock.json'
17+
- 'src/ContentProcessorWeb/yarn.lock'
18+
- 'src/ContentProcessorWeb/tsconfig.json'
19+
- 'src/ContentProcessorWeb/config-overrides.js'
20+
- 'src/ContentProcessorWeb/nginx-custom.conf'
21+
- 'src/ContentProcessorWeb/env.sh'
22+
- '.github/workflows/build-docker-image.yml'
623
pull_request:
724
branches: [main, dev, demo, hotfix]
825
types: [opened, ready_for_review, reopened, synchronize]
26+
paths:
27+
- 'src/ContentProcessor/src/**'
28+
- 'src/**/Dockerfile'
29+
- 'src/**/requirements.txt'
30+
- 'src/**/pyproject.toml'
31+
- 'src/ContentProcessorAPI/app/**'
32+
- 'src/ContentProcessorAPI/helpers/**'
33+
- 'src/ContentProcessorWeb/src/**'
34+
- 'src/ContentProcessorWeb/public/**'
35+
- 'src/ContentProcessorWeb/package.json'
36+
- 'src/ContentProcessorWeb/package-lock.json'
37+
- 'src/ContentProcessorWeb/yarn.lock'
38+
- 'src/ContentProcessorWeb/tsconfig.json'
39+
- 'src/ContentProcessorWeb/config-overrides.js'
40+
- 'src/ContentProcessorWeb/nginx-custom.conf'
41+
- 'src/ContentProcessorWeb/env.sh'
42+
- 'infra/**/*.bicep'
43+
- 'infra/**/*.json'
44+
- 'azure.yaml'
45+
- '.github/workflows/build-docker-image.yml'
946
workflow_dispatch:
1047

48+
permissions:
49+
contents: read
50+
actions: read
51+
id-token: write
52+
1153
jobs:
1254
build-and-push:
1355
runs-on: ubuntu-latest
56+
environment: production
1457
env:
1558
ACR_LOGIN_SERVER: ${{ secrets.ACR_LOGIN_SERVER }}
16-
ACR_USERNAME: ${{ secrets.ACR_USERNAME }}
17-
ACR_PASSWORD: ${{ secrets.ACR_PASSWORD }}
1859

1960
steps:
2061
- name: Checkout repository
@@ -27,13 +68,17 @@ jobs:
2768
id: date
2869
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
2970

30-
- name: Log in to Azure Container Registry
71+
- name: Login to Azure
3172
if: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' || github.ref_name == 'dependabotchanges' }}
32-
uses: azure/docker-login@v2
73+
uses: azure/login@v2
3374
with:
34-
login-server: ${{ env.ACR_LOGIN_SERVER }}
35-
username: ${{ env.ACR_USERNAME }}
36-
password: ${{ env.ACR_PASSWORD }}
75+
client-id: ${{ secrets.AZURE_CLIENT_ID }}
76+
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
77+
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
78+
79+
- name: Log in to Azure Container Registry
80+
if: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' || github.ref_name == 'dependabotchanges' }}
81+
run: az acr login --name ${{ env.ACR_LOGIN_SERVER }}
3782

3883
- name: Get registry
3984
id: registry
@@ -47,7 +92,7 @@ jobs:
4792
DATE="${{ steps.date.outputs.date }}"
4893
GITHUB_RUN_NUMBER="${{ github.run_number }}"
4994
if [[ "$BRANCH" == "main" ]]; then
50-
BASE_TAG="latest"
95+
BASE_TAG="latest_v2"
5196
elif [[ "$BRANCH" == "dev" ]]; then
5297
BASE_TAG="dev"
5398
elif [[ "$BRANCH" == "demo" ]]; then
@@ -56,7 +101,6 @@ jobs:
56101
BASE_TAG="hotfix"
57102
elif [[ "$BRANCH" == "dependabotchanges" ]]; then
58103
BASE_TAG="dependabotchanges"
59-
60104
else
61105
BASE_TAG="pullrequest-ignore"
62106
fi
@@ -94,3 +138,13 @@ jobs:
94138
tags: |
95139
${{ steps.registry.outputs.ext_registry }}/contentprocessorweb:${{ env.BASE_TAG }}
96140
${{ steps.registry.outputs.ext_registry }}/contentprocessorweb:${{ env.DATE_TAG }}
141+
142+
- name: Build and Push ContentProcessorWorkflow Docker image
143+
uses: docker/build-push-action@v6
144+
with:
145+
context: ./src/ContentProcessorWorkflow
146+
file: ./src/ContentProcessorWorkflow/Dockerfile
147+
push: ${{ github.ref_name == 'main' || github.ref_name == 'dev' || github.ref_name == 'demo' || github.ref_name == 'hotfix' || github.ref_name == 'dependabotchanges' }}
148+
tags: |
149+
${{ steps.registry.outputs.ext_registry }}/contentprocessorworkflow:${{ env.BASE_TAG }}
150+
${{ steps.registry.outputs.ext_registry }}/contentprocessorworkflow:${{ env.DATE_TAG }}

.github/workflows/deploy-linux.yml

Lines changed: 198 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,23 @@ on:
33
push:
44
branches:
55
- main
6+
paths:
7+
- 'src/ContentProcessor/src/**'
8+
- 'src/**/Dockerfile'
9+
- 'src/**/requirements.txt'
10+
- 'src/**/pyproject.toml'
11+
- 'src/ContentProcessorAPI/app/**'
12+
- 'src/ContentProcessorAPI/helpers/**'
13+
- 'src/ContentProcessorWeb/src/**'
14+
- 'src/ContentProcessorWeb/public/**'
15+
- 'src/ContentProcessorWeb/package.json'
16+
- 'src/ContentProcessorWeb/package-lock.json'
17+
- 'src/ContentProcessorWeb/yarn.lock'
18+
- 'src/ContentProcessorWeb/tsconfig.json'
19+
- 'src/ContentProcessorWeb/config-overrides.js'
20+
- 'src/ContentProcessorWeb/nginx-custom.conf'
21+
- 'src/ContentProcessorWeb/env.sh'
22+
- '.github/workflows/deploy-linux.yml'
623
workflow_dispatch:
724
inputs:
825
azure_location:
@@ -75,21 +92,191 @@ on:
7592

7693
schedule:
7794
- cron: '0 9,21 * * *' # Runs at 9:00 AM and 9:00 PM GMT
78-
95+
permissions:
96+
contents: read
97+
actions: read
7998
jobs:
99+
validate-inputs:
100+
runs-on: ubuntu-latest
101+
outputs:
102+
validation_passed: ${{ steps.validate.outputs.passed }}
103+
azure_location: ${{ steps.validate.outputs.azure_location }}
104+
resource_group_name: ${{ steps.validate.outputs.resource_group_name }}
105+
waf_enabled: ${{ steps.validate.outputs.waf_enabled }}
106+
exp: ${{ steps.validate.outputs.exp }}
107+
build_docker_image: ${{ steps.validate.outputs.build_docker_image }}
108+
cleanup_resources: ${{ steps.validate.outputs.cleanup_resources }}
109+
run_e2e_tests: ${{ steps.validate.outputs.run_e2e_tests }}
110+
azure_env_log_analytics_workspace_id: ${{ steps.validate.outputs.azure_env_log_analytics_workspace_id }}
111+
azure_existing_ai_project_resource_id: ${{ steps.validate.outputs.azure_existing_ai_project_resource_id }}
112+
existing_webapp_url: ${{ steps.validate.outputs.existing_webapp_url }}
113+
steps:
114+
- name: Validate Workflow Input Parameters
115+
id: validate
116+
shell: bash
117+
env:
118+
INPUT_AZURE_LOCATION: ${{ github.event.inputs.azure_location }}
119+
INPUT_RESOURCE_GROUP_NAME: ${{ github.event.inputs.resource_group_name }}
120+
INPUT_WAF_ENABLED: ${{ github.event.inputs.waf_enabled }}
121+
INPUT_EXP: ${{ github.event.inputs.EXP }}
122+
INPUT_BUILD_DOCKER_IMAGE: ${{ github.event.inputs.build_docker_image }}
123+
INPUT_CLEANUP_RESOURCES: ${{ github.event.inputs.cleanup_resources }}
124+
INPUT_RUN_E2E_TESTS: ${{ github.event.inputs.run_e2e_tests }}
125+
INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ github.event.inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
126+
INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ github.event.inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
127+
INPUT_EXISTING_WEBAPP_URL: ${{ github.event.inputs.existing_webapp_url }}
128+
run: |
129+
echo "🔍 Validating workflow input parameters..."
130+
VALIDATION_FAILED=false
131+
132+
# Validate azure_location (Azure region format)
133+
LOCATION="${INPUT_AZURE_LOCATION:-australiaeast}"
134+
135+
if [[ ! "$LOCATION" =~ ^[a-z0-9]+$ ]]; then
136+
echo "❌ ERROR: azure_location '$LOCATION' is invalid. Must contain only lowercase letters and numbers"
137+
VALIDATION_FAILED=true
138+
else
139+
echo "✅ azure_location: '$LOCATION' is valid"
140+
fi
141+
142+
# Validate resource_group_name (Azure naming convention, optional)
143+
if [[ -n "$INPUT_RESOURCE_GROUP_NAME" ]]; then
144+
if [[ ! "$INPUT_RESOURCE_GROUP_NAME" =~ ^[a-zA-Z0-9._\(\)-]+$ ]] || [[ "$INPUT_RESOURCE_GROUP_NAME" =~ \.$ ]]; then
145+
echo "❌ ERROR: resource_group_name '$INPUT_RESOURCE_GROUP_NAME' is invalid. Must contain only alphanumerics, periods, underscores, hyphens, and parentheses. Cannot end with period."
146+
VALIDATION_FAILED=true
147+
elif [[ ${#INPUT_RESOURCE_GROUP_NAME} -gt 90 ]]; then
148+
echo "❌ ERROR: resource_group_name '$INPUT_RESOURCE_GROUP_NAME' exceeds 90 characters (length: ${#INPUT_RESOURCE_GROUP_NAME})"
149+
VALIDATION_FAILED=true
150+
else
151+
echo "✅ resource_group_name: '$INPUT_RESOURCE_GROUP_NAME' is valid"
152+
fi
153+
else
154+
echo "✅ resource_group_name: Not provided (will be auto-generated)"
155+
fi
156+
157+
# Validate waf_enabled (boolean)
158+
WAF_ENABLED="${INPUT_WAF_ENABLED:-false}"
159+
if [[ "$WAF_ENABLED" != "true" && "$WAF_ENABLED" != "false" ]]; then
160+
echo "❌ ERROR: waf_enabled must be 'true' or 'false', got: '$WAF_ENABLED'"
161+
VALIDATION_FAILED=true
162+
else
163+
echo "✅ waf_enabled: '$WAF_ENABLED' is valid"
164+
fi
165+
166+
# Validate EXP (boolean)
167+
EXP_ENABLED="${INPUT_EXP:-false}"
168+
if [[ "$EXP_ENABLED" != "true" && "$EXP_ENABLED" != "false" ]]; then
169+
echo "❌ ERROR: EXP must be 'true' or 'false', got: '$EXP_ENABLED'"
170+
VALIDATION_FAILED=true
171+
else
172+
echo "✅ EXP: '$EXP_ENABLED' is valid"
173+
fi
174+
175+
# Validate build_docker_image (boolean)
176+
BUILD_DOCKER="${INPUT_BUILD_DOCKER_IMAGE:-false}"
177+
if [[ "$BUILD_DOCKER" != "true" && "$BUILD_DOCKER" != "false" ]]; then
178+
echo "❌ ERROR: build_docker_image must be 'true' or 'false', got: '$BUILD_DOCKER'"
179+
VALIDATION_FAILED=true
180+
else
181+
echo "✅ build_docker_image: '$BUILD_DOCKER' is valid"
182+
fi
183+
184+
# Validate cleanup_resources (boolean)
185+
CLEANUP_RESOURCES="${INPUT_CLEANUP_RESOURCES:-false}"
186+
if [[ "$CLEANUP_RESOURCES" != "true" && "$CLEANUP_RESOURCES" != "false" ]]; then
187+
echo "❌ ERROR: cleanup_resources must be 'true' or 'false', got: '$CLEANUP_RESOURCES'"
188+
VALIDATION_FAILED=true
189+
else
190+
echo "✅ cleanup_resources: '$CLEANUP_RESOURCES' is valid"
191+
fi
192+
193+
# Validate run_e2e_tests (specific allowed values)
194+
TEST_OPTION="${INPUT_RUN_E2E_TESTS:-GoldenPath-Testing}"
195+
if [[ "$TEST_OPTION" != "GoldenPath-Testing" && "$TEST_OPTION" != "Smoke-Testing" && "$TEST_OPTION" != "None" ]]; then
196+
echo "❌ ERROR: run_e2e_tests must be one of: GoldenPath-Testing, Smoke-Testing, None, got: '$TEST_OPTION'"
197+
VALIDATION_FAILED=true
198+
else
199+
echo "✅ run_e2e_tests: '$TEST_OPTION' is valid"
200+
fi
201+
202+
# Validate AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID (optional, Azure Resource ID format)
203+
if [[ -n "$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" ]]; then
204+
if [[ ! "$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/[Mm]icrosoft\.[Oo]perational[Ii]nsights/[Ww]orkspaces/[^/]+$ ]]; then
205+
echo "❌ ERROR: AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID is invalid. Must be a valid Azure Resource ID format:"
206+
echo " /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}"
207+
echo " Got: '$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID'"
208+
VALIDATION_FAILED=true
209+
else
210+
echo "✅ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: Valid Resource ID format"
211+
fi
212+
else
213+
echo "✅ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: Not provided (optional)"
214+
fi
215+
216+
# Validate AZURE_EXISTING_AI_PROJECT_RESOURCE_ID (optional, Azure Resource ID format)
217+
if [[ -n "$INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID" ]]; then
218+
if [[ ! "$INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/([Mm]icrosoft\.[Mm]achine[Ll]earning[Ss]ervices/([Ww]orkspaces|[Pp]rojects)/[^/]+|[Mm]icrosoft\.[Cc]ognitive[Ss]ervices/[Aa]ccounts/[^/]+/[Pp]rojects/[^/]+)$ ]]; then
219+
echo "❌ ERROR: AZURE_EXISTING_AI_PROJECT_RESOURCE_ID is invalid. Must be a valid Azure Resource ID format:"
220+
echo " /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/projects/{projectName}"
221+
echo " Got: '$INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID'"
222+
VALIDATION_FAILED=true
223+
else
224+
echo "✅ AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: Valid Resource ID format"
225+
fi
226+
else
227+
echo "✅ AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: Not provided (optional)"
228+
fi
229+
230+
# Validate existing_webapp_url (optional, must start with https)
231+
if [[ -n "$INPUT_EXISTING_WEBAPP_URL" ]]; then
232+
if [[ ! "$INPUT_EXISTING_WEBAPP_URL" =~ ^https:// ]]; then
233+
echo "❌ ERROR: existing_webapp_url must start with 'https://', got: '$INPUT_EXISTING_WEBAPP_URL'"
234+
VALIDATION_FAILED=true
235+
else
236+
echo "✅ existing_webapp_url: '$INPUT_EXISTING_WEBAPP_URL' is valid"
237+
fi
238+
else
239+
echo "✅ existing_webapp_url: Not provided (will perform deployment)"
240+
fi
241+
242+
# Fail workflow if any validation failed
243+
if [[ "$VALIDATION_FAILED" == "true" ]]; then
244+
echo ""
245+
echo "❌ Parameter validation failed. Please correct the errors above and try again."
246+
exit 1
247+
fi
248+
249+
echo ""
250+
echo "✅ All input parameters validated successfully!"
251+
252+
# Output validated values
253+
echo "passed=true" >> $GITHUB_OUTPUT
254+
echo "azure_location=$LOCATION" >> $GITHUB_OUTPUT
255+
echo "resource_group_name=$INPUT_RESOURCE_GROUP_NAME" >> $GITHUB_OUTPUT
256+
echo "waf_enabled=$WAF_ENABLED" >> $GITHUB_OUTPUT
257+
echo "exp=$EXP_ENABLED" >> $GITHUB_OUTPUT
258+
echo "build_docker_image=$BUILD_DOCKER" >> $GITHUB_OUTPUT
259+
echo "cleanup_resources=$CLEANUP_RESOURCES" >> $GITHUB_OUTPUT
260+
echo "run_e2e_tests=$TEST_OPTION" >> $GITHUB_OUTPUT
261+
echo "azure_env_log_analytics_workspace_id=$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" >> $GITHUB_OUTPUT
262+
echo "azure_existing_ai_project_resource_id=$INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID" >> $GITHUB_OUTPUT
263+
echo "existing_webapp_url=$INPUT_EXISTING_WEBAPP_URL" >> $GITHUB_OUTPUT
264+
80265
Run:
266+
needs: validate-inputs
267+
if: needs.validate-inputs.outputs.validation_passed == 'true'
81268
uses: ./.github/workflows/deploy-orchestrator.yml
82269
with:
83270
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 || '' }}
271+
azure_location: ${{ needs.validate-inputs.outputs.azure_location || 'australiaeast' }}
272+
resource_group_name: ${{ needs.validate-inputs.outputs.resource_group_name || '' }}
273+
waf_enabled: ${{ needs.validate-inputs.outputs.waf_enabled == 'true' }}
274+
EXP: ${{ needs.validate-inputs.outputs.exp == 'true' }}
275+
build_docker_image: ${{ needs.validate-inputs.outputs.build_docker_image == 'true' }}
276+
cleanup_resources: ${{ needs.validate-inputs.outputs.cleanup_resources == 'true' }}
277+
run_e2e_tests: ${{ needs.validate-inputs.outputs.run_e2e_tests || 'GoldenPath-Testing' }}
278+
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ needs.validate-inputs.outputs.azure_env_log_analytics_workspace_id || '' }}
279+
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ needs.validate-inputs.outputs.azure_existing_ai_project_resource_id || '' }}
280+
existing_webapp_url: ${{ needs.validate-inputs.outputs.existing_webapp_url || '' }}
94281
trigger_type: ${{ github.event_name }}
95282
secrets: inherit

0 commit comments

Comments
 (0)