Skip to content

ci: Migrated GitHub Actions authentication from client secrets to OIDC and combined Ubuntu & Windows workflows into a single pipeline#825

Merged
Prajwal-Microsoft merged 3 commits intomainfrom
psl-oidc
Feb 23, 2026
Merged

ci: Migrated GitHub Actions authentication from client secrets to OIDC and combined Ubuntu & Windows workflows into a single pipeline#825
Prajwal-Microsoft merged 3 commits intomainfrom
psl-oidc

Conversation

@Vamshi-Microsoft
Copy link
Contributor

Purpose

This pull request streamlines and unifies the deployment workflow configurations for Azure environments, focusing on improved input validation, enhanced security, and simplification of deployment options. It consolidates Linux and Windows deployment workflows, introduces dynamic runner selection, and updates authentication methods to use more secure Azure login practices.

Workflow consolidation and input flexibility:

  • The separate .github/workflows/deploy-linux.yml and .github/workflows/deploy-windows.yml files have been merged into a single, renamed workflow .github/workflows/deploy-v2.yml, removing the Windows-specific workflow and allowing users to select the deployment environment (runner OS) via workflow inputs. (deploy-v2.yml, deploy-linux.yml, deploy-windows.yml) [1] [2]
  • Added a runner_os input to the workflow dispatch, enabling users to choose between 'codespace' (Ubuntu) and 'Local' (Windows) environments, with validation logic to ensure only valid options are used. (deploy-v2.yml) [1] [2]

Security and authentication improvements:

  • Updated all relevant workflows (deploy.yml, deploy-waf.yml, deploy-v2.yml) to use OpenID Connect (OIDC) with id-token: write permission and the azure/login GitHub Action for authentication, removing direct use of client secrets in environment variables and shell scripts. (deploy.yml, deploy-waf.yml, deploy-v2.yml, azure-dev.yml) [1] [2] [3] [4] [5] [6] [7] [8]

Workflow and environment configuration:

  • Added environment: production to deployment jobs in deploy.yml and deploy-waf.yml for better environment tracking and protection. (deploy.yml, deploy-waf.yml) [1] [2]

Simplification and permissions:

  • Removed redundant or unnecessary permissions and configuration blocks from orchestrator and other workflow files, relying on inherited or more secure defaults. (deploy-orchestrator.yml)

Output and input handling enhancements:

  • Enhanced output handling in deploy-v2.yml to propagate the selected runner OS and other validated parameters to downstream jobs, ensuring consistent configuration throughout the workflow. (deploy-v2.yml) [1] [2] [3] [4]

These changes collectively improve maintainability, security, and flexibility of the deployment workflows for Azure environments.

Does this introduce a breaking change?

  • Yes
  • No

How to Test

  • Get the code
git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install
  • Test the code

What to Check

Verify that the following are valid

  • ...

Other Information

@Prajwal-Microsoft Prajwal-Microsoft merged commit 0b414ec into main Feb 23, 2026
8 checks passed
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