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
- Azure Service Principal: Create a service principal with contributor rights following the GitHub Action Authentication documentation
- GitHub Secrets: Configure the required secrets in your repository settings
Required GitHub Secrets
Navigate to "Settings" → "Secrets and variables" → "Actions" and add:
| Secret | Purpose |
|---|---|
AZURE_CLIENT_ID | Service principal application ID |
AZURE_TENANT_ID | Azure tenant ID |
AZURE_SUBSCRIPTION_ID | Azure subscription ID |
AZURE_CLIENT_SECRET | Service principal client secret |
Core workflows
Main workflows
| Workflow | Purpose | Documentation |
|---|---|---|
| Main CI/CD | Primary orchestration workflow | Details |
| Pull Request Validation | Comprehensive PR validation | Details |
| Application Matrix Builds | Dynamic application building | Details |
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:
| Template | Purpose |
|---|---|
docs-check-terraform.yml | Terraform documentation validation |
docs-check-bicep.yml | Bicep documentation validation |
variable-compliance-terraform.yml | Terraform variable compliance checking |
variable-compliance-bicep.yml | Bicep variable compliance checking |
cluster-test-terraform.yml | Infrastructure testing against real clusters |
pages-deploy.yml | Documentation deployment to GitHub Pages |
Complete template documentation: Template Workflows
Configuration requirements
Environment Variables
Common environment variables for workflows:
| Variable | Example Value | Purpose |
|---|---|---|
TF_VAR_ENVIRONMENT | dev | Deployment environment |
TF_VAR_LOCATION | westus | Azure region |
TF_VAR_RESOURCE_PREFIX | edge-ai | Resource 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
Related documentation
- Build Scripts Guide - Automated validation and documentation scripts
- Security Scanning - Security validation processes
- CI/CD Best Practices - Workflow optimization and patterns
- Troubleshooting Guide - Common issues and solutions
- Azure DevOps Integration - Enterprise pipeline workflows
External resources
🤖 Crafted with precision by ✨Copilot following brilliant human instruction, then carefully refined by our team of discerning human reviewers.