Skip to content

Merge pull request #98 from TukaTek/feature/TUK-119 #69

Merge pull request #98 from TukaTek/feature/TUK-119

Merge pull request #98 from TukaTek/feature/TUK-119 #69

name: CortexAI Chat Dev Frontend
on:
push:
branches:
- dev
paths:
- 'web/**'
- '.github/workflows/caichat_dev_web.yaml'
permissions:
id-token: write
contents: read
env:
ACR_REPOSITORY: onyx-web-server
ACR_LOGIN_SERVER: ${{ secrets.ACR_LOGIN_SERVER }}
VM_NAME: cortexai-chat-vm-dev
RG_NAME: CORTEX-AI-CHAT-DEV
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set IMAGE_TAG
run: echo "IMAGE_TAG=v1.${GITHUB_REF##*/}.${{ github.run_number }}" >> $GITHUB_ENV
- name: Log in to Azure Container Registry(ACR)
uses: docker/login-action@v3
with:
registry: ${{ secrets.ACR_LOGIN_SERVER }}
username: ${{ secrets.ACR_USERNAME }}
password: ${{ secrets.ACR_PASSWORD }}
- name: Build & Push Docker Image
run: |
docker build -t $ACR_LOGIN_SERVER/$ACR_REPOSITORY:$IMAGE_TAG -t $ACR_LOGIN_SERVER/$ACR_REPOSITORY:latest -f web/Dockerfile ./web
docker push $ACR_LOGIN_SERVER/$ACR_REPOSITORY:$IMAGE_TAG
docker push $ACR_LOGIN_SERVER/$ACR_REPOSITORY:latest
Deploy:
needs: build-and-push
runs-on: ubuntu-latest
if: needs.build-and-push.result == 'success'
environment: cortexai_chat
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set IMAGE_TAG
run: echo "IMAGE_TAG=v1.${GITHUB_REF##*/}.${{ github.run_number }}" >> $GITHUB_ENV
- name: Azure Login with OIDC
uses: azure/login@v1
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: Run deployment script on VM
run: |
az vm run-command invoke \
--resource-group $RG_NAME \
--name $VM_NAME \
--command-id RunShellScript \
--scripts "cd /home/azureuser/cortexai_chat && ./deploy.sh --service-name web_server --image-name $ACR_REPOSITORY --image-tag $IMAGE_TAG"