Skip to content

chore: Dev to Main merge#803

Merged
Roopan-Microsoft merged 96 commits intomainfrom
dev
Apr 13, 2026
Merged

chore: Dev to Main merge#803
Roopan-Microsoft merged 96 commits intomainfrom
dev

Conversation

@Ragini-Microsoft
Copy link
Copy Markdown
Collaborator

@Ragini-Microsoft Ragini-Microsoft commented Apr 8, 2026

Purpose

This pull request standardizes and improves the naming and handling of environment variables related to Azure resources and image model selection across multiple workflow files, and introduces a new scheduled workflow for template validation. It also enhances workflow concurrency controls and updates deployment logic for better automation and consistency.

Environment Variable Standardization and Naming Consistency:

  • Updated all references of AZURE_EXISTING_AI_PROJECT_RESOURCE_ID to AZURE_EXISTING_AIPROJECT_RESOURCE_ID and AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID to AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID for consistency across .env.sample and all workflow files. This includes input/output parameters, environment variables, and validation logic. (.env.sample, .github/workflows/deploy-v2.yml, .github/workflows/deploy-orchestrator.yml, .github/workflows/azure-dev.yml) [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
  • Changed model and API version variable names for clarity: e.g., AZURE_OPENAI_GPT_MODEL to AZURE_ENV_GPT_MODEL_NAME, AZURE_OPENAI_IMAGE_MODEL to AZURE_ENV_IMAGE_MODEL_NAME, and AZURE_OPENAI_API_VERSION to AZURE_ENV_OPENAI_API_VERSION. (.env.sample, .github/workflows/deploy-orchestrator.yml, .github/workflows/deploy-v2.yml) [1] [2] [3] [4]

Workflow Improvements and Automation:

  • Added a new scheduled workflow .github/workflows/azd-template-validation.yml to automatically validate Azure templates every Thursday and on manual dispatch, improving template reliability.
  • Refactored .github/workflows/azure-dev.yml to focus on deployment (azd up) rather than just template validation, including improved Azure authentication and environment setup steps.

Concurrency and Workflow Enhancements:

  • Introduced concurrency groups to codeql.yml and docker-build.yml workflows to prevent overlapping runs for the same branch or ref, reducing resource contention and ensuring up-to-date results. [1] [2]

Other Minor Improvements:

  • Updated workflow triggers and path filters for more precise execution in deploy-v2.yml.
  • Ensured output and validation messages use the new variable names for clarity and traceability. [1] [2]

These changes collectively improve maintainability, reduce confusion from inconsistent variable names, and streamline the CI/CD process for Azure deployments.

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.

Shubhangi-Microsoft and others added 30 commits February 24, 2026 18:17
Task 1: Centralize state with Redux Toolkit (4 slices, typed hooks, selectors)
Task 2: Centralized HTTP client with interceptors (httpClient singleton)
Task 3: Extract 18 reusable components from monolithic files
Task 4: Wrap all components with React.memo + displayName, useCallback throughout
Task 5: Extract business logic into 7 custom hooks (useChatOrchestrator, etc.)

- App.tsx reduced from ~787 to ~85 lines
- Zero raw fetch calls (except /.auth/me)
- All console.log downgraded to console.debug
- Build: 0 TypeScript errors
New utility modules in utils/:
- messageUtils.ts: createMessage() factory, formatContentForClipboard()
- contentParsing.ts: parseTextContent(), resolveImageUrl(), buildGeneratedContent()
- sseParser.ts: parseSSEStream() — eliminates duplicated SSE decode loop
- generationStages.ts: getGenerationStage() — pure progress-stage mapper
- briefFields.ts: BRIEF_FIELD_LABELS, BRIEF_DISPLAY_ORDER, BRIEF_FIELD_KEYS
- stringUtils.ts: escapeRegex(), createNameSwapper(), matchesAnyKeyword()
- apiUtils.ts: retryRequest (exponential backoff), RequestCache, throttle
- index.ts: barrel export for all utils

Deduplicated code:
- msg() helper was identical in 2 hooks → createMessage() in messageUtils
- SSE stream parser was identical in 2 API functions → parseSSEStream()
- GeneratedContent parsing was near-identical in 3 hooks → buildGeneratedContent()
- Brief field constants duplicated in 2 components → shared briefFields
- Keyword matching pattern repeated 3x → matchesAnyKeyword()

Internal helpers marked non-exported:
- rewriteBlobUrl() in contentParsing.ts
- defaultShouldRetry(), sleep() in apiUtils.ts
- plainDownload() in downloadImage.ts (already was)

Build: 0 TypeScript errors
- Route fetch('/.auth/me') through platformClient (HttpClient with empty baseUrl)
- Un-export parseTextContent/resolveImageUrl (module-internal only)
- DRY userId || 'anonymous' x6 into normalizeUserId() helper
- Remove redundant duplicate prompt field from WelcomeCard suggestions
- httpClient: replace require() with ESM dynamic import() for store access
- useConversationActions: pass explicit undefined to resetChat()
- parseBrief: route to /chat endpoint (no /brief/parse backend route)
- streamChat: use httpClient.post + yield instead of SSE (backend returns JSON)
- selectProducts: route to /chat endpoint (no /products/select backend route)
- streamRegenerateImage: use /chat + polling instead of non-existent /regenerate SSE
- remove unused readSSEResponse helper and parseSSEStream import
- Updated environment variable names to follow a consistent naming convention, replacing `AZURE_OPENAI_*` with `AZURE_ENV_*` for clarity and consistency across the codebase.
- Modified GitHub Actions workflow to reflect new environment variable names for Docker image tagging.
- Adjusted deployment scripts and local development scripts to utilize the new environment variable names.
- Updated documentation to reflect changes in environment variable names for Azure OpenAI configuration.
- Ensured backward compatibility by adding aliases for the old variable names where necessary.
docs: Added content in Readme and deploymentguide for SFI issue
Prekshith-Microsoft and others added 3 commits April 10, 2026 10:59
Accept dev's workflow_dispatch-only trigger for azure-dev.yml.
Update docker-build.yml paths to use correct src/App/ casing from dev,
while keeping WebApp.Dockerfile and .dockerignore path entries.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep dev's workflow structure while adding back push trigger with
path filters for infra/**, azure*.yaml, and workflow file changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
fix: Filter file the paths for pipeline run
@Roopan-Microsoft Roopan-Microsoft merged commit 78c93d6 into main Apr 13, 2026
23 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 2.4.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

Projects

None yet

Development

Successfully merging this pull request may close these issues.