Azure deployment
CI/CD Workflow Architecture
GitHub Actions is the only supported CI/CD runner for this repository.
- CI workflow (
.github/workflows/ci.yml) validates pull requests and pushes. - Code promotion workflow (
.github/workflows/code-promote.yml) builds images, publishes artifacts, deploys services, reconciles runtime state, validates the deployment contract, and runs smoke tests. - Model runtime workflow (
.github/workflows/deploy-model-runtime.yml) deploys Azure AI Foundry model deployments and seeds runtime model tables. - Production slot swap workflow (
.github/workflows/prod-slot-swap.yml) isolates manual production slot promotion.
Build And Deploy Flow
- GitHub Actions builds the target container images from the repository Dockerfiles.
- Images are pushed to Azure Container Registry.
- Deployment workflows update Azure App Service container settings.
- Reconciliation workflows verify agent registry, profile settings, model capabilities, APIM routes, and service contracts.
- Smoke workflows run Bruno collections against the resolved environment.
Configuration
Project/environment mapping lives in .github/config/projects/*.yml. Runtime deployment state is also anchored by environment manifests consumed by the GitHub resolver scripts.
Azure authentication uses GitHub environments with OIDC and environment-scoped secrets:
AZURE_CLIENT_IDAZURE_TENANT_IDAZURE_SUBSCRIPTION_ID
Local Checks
Run the local CI approximation before pushing broad changes:
./scripts/run-ci-locally.ps1