Skip to content

Conversation

@Harsh-Microsoft
Copy link
Contributor

Purpose

This pull request introduces significant updates to the automation workflow, documentation, and infrastructure deployment templates. The changes primarily focus on enabling support for reusing existing AI Foundry projects, improving workflow flexibility, and enhancing resource deployment logic.

Workflow Enhancements

  • Added support for workflow_call in .github/workflows/test_automation.yml to allow external workflows to pass the CA_WEB_URL as an input parameter, replacing the hardcoded CLIENT_ADVISOR_URL variable.
  • Introduced steps in the jobs section to validate the provided URL and wait for the application to be ready before running tests. This ensures the environment is correctly set up before executing tests.

Documentation Updates

  • Updated docs/CustomizingAzdParameters.md and docs/DeploymentGuide.md to include a new parameter for reusing an existing AI Foundry project resource (RESOURCE_GROUP_NAME_FOUNDRY and Existing AI Foundry Project Resource ID). [1] [2]

Infrastructure Deployment Enhancements

  • Added a new parameter (azureExistingAIProjectResourceId) to infra/deploy_ai_foundry.bicep to support reusing existing AI Foundry projects. This includes logic to dynamically determine resource attributes (e.g., endpoints, names, and resource groups) based on the provided resource ID. [1] [2]
  • Modified resource declarations and role assignments in infra/deploy_ai_foundry.bicep to conditionally create new resources or reuse existing ones, depending on whether azureExistingAIProjectResourceId is provided. This applies to AI Foundry projects, connections, and role assignments. [1] [2] [3]
  • Introduced a new module (infra/deploy_aifp_aisearch_connection.bicep) to handle connections for existing AI projects, enabling seamless integration with Azure Cognitive Search.

Minor Code Style Improvements

  • Simplified parameter formatting in infra/deploy_app_service.bicep for better readability. [1] [2]

These updates collectively enhance the flexibility and scalability of the deployment process while improving the automation workflow's robustness.

Does this introduce a breaking change?

  • Yes
  • No

Golden Path Validation

  • I have tested the primary workflows (the "golden path") to ensure they function correctly without errors.

Deployment Validation

  • I have validated the deployment process successfully and all services are running as expected with this change.

What to Check

Verify that the following are valid

  • ...

Other Information

Rohini-Microsoft and others added 30 commits June 12, 2025 10:26
…ssistants (#566)

* initial bicep changes for fdp

* update role assignments in bicep

* feat: initial fdp changes for client advisor

* updated post deployment scripts to use keyless authentication

* rebuilt main.json

* fix configuration handling and error checking in backend services

* updated unit tests

* Refactor code for improved readability and maintainability by organizing imports and formatting code blocks consistently across multiple files.
* initial bicep changes for fdp

* update role assignments in bicep

* feat: initial fdp changes for client advisor

* updated post deployment scripts to use keyless authentication

* rebuilt main.json

* fix configuration handling and error checking in backend services

* updated unit tests

* Refactor code for improved readability and maintainability by organizing imports and formatting code blocks consistently across multiple files.

* fix: correct variable names for managed identity and AI foundry in scripts and templates
* quota-check-during azd up

* updated bicep and parameter json
…from popup (#578)

* feat: FDP changes, Updation to use AI agents  (#571)

* Implemented Log execution time per prompt in Report

* updated readme

* updated the code

* added functions

* feat: added fdp changes, updated to use ai agents instead of openai assistants (#566)

* initial bicep changes for fdp

* update role assignments in bicep

* feat: initial fdp changes for client advisor

* updated post deployment scripts to use keyless authentication

* rebuilt main.json

* fix configuration handling and error checking in backend services

* updated unit tests

* Refactor code for improved readability and maintainability by organizing imports and formatting code blocks consistently across multiple files.

* refactor: couple of typo fix (#570)

* initial bicep changes for fdp

* update role assignments in bicep

* feat: initial fdp changes for client advisor

* updated post deployment scripts to use keyless authentication

* rebuilt main.json

* fix configuration handling and error checking in backend services

* updated unit tests

* Refactor code for improved readability and maintainability by organizing imports and formatting code blocks consistently across multiple files.

* fix: correct variable names for managed identity and AI foundry in scripts and templates

---------

Co-authored-by: Rohini-Microsoft <[email protected]>
Co-authored-by: Avijit-Microsoft <[email protected]>
Co-authored-by: Harsh-Microsoft <[email protected]>

* bug fix(#19849)

---------

Co-authored-by: Prajwal-Microsoft <[email protected]>
Co-authored-by: Ragini-Microsoft <[email protected]>
Co-authored-by: Rohini-Microsoft <[email protected]>
Co-authored-by: Avijit-Microsoft <[email protected]>
Co-authored-by: Harsh-Microsoft <[email protected]>
…cript kernel function (#583)

* feat: ai search tool changes

* update unit tests for ai search tool implementation

* fix post deployment scripts

* rebuild main.json

* fix pylint issues for tests
Harsh-Microsoft and others added 2 commits June 30, 2025 13:09
* feat: ai search tool changes

* update unit tests for ai search tool implementation

* fix post deployment scripts

* rebuild main.json

* fix pylint issues for tests

* fix: improve Azure authentication messages in scripts
…th ot… (#585)

* Changed the Prompt to avoid generating answer while comparing with other client

* removed the special char \r from main.json
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enables reuse of existing AI Foundry projects in both infrastructure templates and code, integrates an AI Search tool for call transcript queries, and enhances CI/CD workflows with parameterized test automation and improved deployment pipelines.

  • Introduce azureExistingAIProjectResourceId parameter across Bicep templates and scripts to conditionally reuse existing AI Foundry resources.
  • Refactor application and service code to support two agents (wealth_advisor_agent and search_agent) and update the ChatWithDataPlugin to leverage the AI Search Agent.
  • Enhance GitHub Actions workflows (test_automation.yml, CAdeploy.yml) for flexible URL inputs, readiness checks, and end-to-end automation, including parameterized deployment and cleanup jobs.

Reviewed Changes

Copilot reviewed 28 out of 30 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/App/backend/plugins/chat_with_data_plugin.py Add async handling for search-based transcripts; missing imports and resource cleanup logic
infra/deploy_ai_foundry.bicep Add parameter and logic to reuse existing AI project resources
infra/main.bicep Propagate new reuse parameter; remove outdated references; update defaults
.github/workflows/test_automation.yml Add workflow_call, URL validation, and readiness polling steps
.github/workflows/CAdeploy.yml Upgrade deployment workflow with branch-based tagging, outputs, and e2e test invocation
Comments suppressed due to low confidence (3)

infra/scripts/run_create_index_scripts.sh:11

  • [nitpick] The parameter resourceGroupNameFoundry is camelCase and may conflict with other script conventions; consider renaming it to resourceGroupNameFoundry consistently or use uppercase with underscores to match other variables.
resourceGroupNameFoundry="$8"

src/App/backend/plugins/chat_with_data_plugin.py:1

  • The plugin references config throughout but does not import it; add from backend.common.config import config at the top.
import logging

src/App/backend/plugins/chat_with_data_plugin.py:252

  • The thread variable is used in finally but never initialized before the inner try; define thread = None before the try to avoid a NameError on early exceptions.
            finally:

callTranscriptSystemPrompt: functionAppCallTranscriptSystemPrompt
streamTextSystemPrompt: functionAppStreamTextSystemPrompt
aiFoundryProjectName:aifoundry.outputs.aiFoundryProjectName
//aiFoundryProjectName:aifoundry.outputs.aiFoundryProjectName
Copy link

Copilot AI Jul 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Remove this leftover commented-out output property now that the project name is conditionally handled; commented code increases maintenance overhead.

Suggested change
//aiFoundryProjectName:aifoundry.outputs.aiFoundryProjectName

Copilot uses AI. Check for mistakes.
@Harsh-Microsoft Harsh-Microsoft merged commit bd1979d into main Jul 1, 2025
11 checks passed
@github-actions
Copy link

github-actions bot commented Jul 1, 2025

🎉 This PR is included in version 1.5.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants