Skip to main content

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

  1. GitHub Actions builds the target container images from the repository Dockerfiles.
  2. Images are pushed to Azure Container Registry.
  3. Deployment workflows update Azure App Service container settings.
  4. Reconciliation workflows verify agent registry, profile settings, model capabilities, APIM routes, and service contracts.
  5. 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_ID
  • AZURE_TENANT_ID
  • AZURE_SUBSCRIPTION_ID

Local Checks

Run the local CI approximation before pushing broad changes:

./scripts/run-ci-locally.ps1