Skip to main content

GitHub Actions workflows

GitHub Actions Workflows

GitHub Actions serves as the primary CI/CD platform for the Edge AI Accelerator, providing automated validation, testing, and deployment capabilities through modular, reusable workflow components.

In this guide

Getting started

Prerequisites

  1. Azure Service Principal: Create a service principal with contributor rights following the GitHub Action Authentication documentation
  2. GitHub Secrets: Configure the required secrets in your repository settings

Required GitHub Secrets

Navigate to "Settings" → "Secrets and variables" → "Actions" and add:

SecretPurpose
AZURE_CLIENT_IDService principal application ID
AZURE_TENANT_IDAzure tenant ID
AZURE_SUBSCRIPTION_IDAzure subscription ID
AZURE_CLIENT_SECRETService principal client secret

Core workflows

Main workflows

WorkflowPurposeDocumentation
Main CI/CDPrimary orchestration workflowDetails
Pull Request ValidationComprehensive PR validationDetails
Application Matrix BuildsDynamic application buildingDetails

Key features

  • Dynamic matrix builds detecting only modified applications and services
  • Multi-language application builds (.NET, Rust, Node.js, Python)
  • Integrated security scanning with container vulnerability assessment
  • Language-specific dependency audits and security gates
  • Documentation validation for Terraform and Bicep
  • Variable compliance checking across modules
  • Automated deployment with approval workflows

Template workflows

Reusable workflow components for consistent CI/CD processes:

TemplatePurpose
docs-check-terraform.ymlTerraform documentation validation
docs-check-bicep.ymlBicep documentation validation
variable-compliance-terraform.ymlTerraform variable compliance checking
variable-compliance-bicep.ymlBicep variable compliance checking
cluster-test-terraform.ymlInfrastructure testing against real clusters
pages-deploy.ymlDocumentation deployment to GitHub Pages

Complete template documentation: Template Workflows

Configuration requirements

Environment Variables

Common environment variables for workflows:

VariableExample ValuePurpose
TF_VAR_ENVIRONMENTdevDeployment environment
TF_VAR_LOCATIONwestusAzure region
TF_VAR_RESOURCE_PREFIXedge-aiResource naming prefix

Workflow architecture

Our workflows follow a modular approach:

  • Consistency: Same validation steps across all workflows
  • Reusability: Template components for common tasks
  • Flexibility: Parameterized components for different scenarios
  • Maintainability: Changes made in one place, applied everywhere

Additional resources

External resources


🤖 Crafted with precision by ✨Copilot following brilliant human instruction, then carefully refined by our team of discerning human reviewers.