Skip to content

Azure Dev Deploy

Azure Dev Deploy #35

Workflow file for this run

name: Azure Dev Deploy
on:
workflow_dispatch:
permissions:
contents: read
id-token: write
jobs:
deploy:
runs-on: ubuntu-latest
environment: production
env:
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
AZURE_ENV_AI_DEPLOYMENTS_LOCATION: ${{ vars.AZURE_ENV_AI_DEPLOYMENTS_LOCATION }}
AZURE_ENV_USE_CASE: ${{ vars.AZURE_ENV_USE_CASE }}
DEPLOYING_USER_PRINCIPAL_TYPE: ServicePrincipal
steps:
- name: Checkout Code
uses: actions/checkout@v5
- name: Set timestamp and env name
run: |
HHMM=$(date -u +'%H%M')
echo "AZURE_ENV_NAME=azd-${{ vars.AZURE_ENV_NAME }}-${HHMM}" >> $GITHUB_ENV
- name: Install azd
uses: Azure/setup-azd@v2
- name: Login to Azure
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: Login to AZD
shell: bash
run: |
azd auth login \
--client-id "$AZURE_CLIENT_ID" \
--federated-credential-provider "github" \
--tenant-id "$AZURE_TENANT_ID"
- name: Provision and Deploy
shell: bash
run: |
if ! azd env select "$AZURE_ENV_NAME"; then
azd env new "$AZURE_ENV_NAME" --subscription "$AZURE_SUBSCRIPTION_ID" --location "$AZURE_LOCATION" --no-prompt
fi
azd config set defaults.subscription "$AZURE_SUBSCRIPTION_ID"
azd env set AZURE_AI_SERVICE_LOCATION="$AZURE_LOCATION"
azd env set AZURE_ENV_AI_DEPLOYMENTS_LOCATION="$AZURE_ENV_AI_DEPLOYMENTS_LOCATION"
azd env set AZURE_ENV_USE_CASE="$AZURE_ENV_USE_CASE"
azd up --no-prompt