Skip to content

Conversation

@Vamshi-Microsoft
Copy link
Contributor

Purpose

This pull request introduces robust input validation steps to both the Linux and Windows deployment workflows, ensuring that all workflow input parameters are checked for correctness before proceeding with deployments. Additionally, it improves the reliability and correctness of Azure resource ID validations and enhances deployment job conditions.

Key changes:

Input validation improvements:

  • Added a new validate-inputs job to both .github/workflows/deploy-linux.yml and .github/workflows/deploy-windows.yml that checks all workflow input parameters for validity (such as Azure region, resource group name, booleans, and Azure Resource ID formats) before running the main deployment workflow. The deployment now only proceeds if validation passes, and all subsequent jobs use the validated outputs. [1] [2]

Azure Resource ID validation enhancements:

  • Updated regular expressions in .github/workflows/job-deploy-linux.yml to allow for case-insensitive matching of Azure resource types (e.g., resourceGroups, Microsoft.OperationalInsights, Microsoft.MachineLearningServices, etc.), making the validation more robust and less error-prone. [1] [2]

Deployment workflow logic:

  • Modified the deployment job condition in .github/workflows/deploy-orchestrator.yml to ensure deployment only runs if the Docker build succeeded or was skipped, in addition to the existing conditions.

Parameter propagation:

  • Updated all references to workflow input parameters in the deployment jobs to use the outputs from the new validate-inputs job, ensuring that only validated values are used in downstream steps. [1] [2]

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

  • I have built and tested the code locally and in a deployed app
  • For frontend changes, I have pulled the latest code from main, built the frontend, and committed all static files.
  • This is a change for all users of this app. No code or asset is specific to my use case or my organization.

Other Information

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.

2 participants