117 lines
3.5 KiB
YAML
117 lines
3.5 KiB
YAML
# Copyright (C) 2024 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
name: Build and deploy GMC system on call and manual
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
tag:
|
|
default: "latest"
|
|
required: true
|
|
type: string
|
|
description: "Tag to apply to images"
|
|
node:
|
|
default: "xeon"
|
|
required: true
|
|
type: string
|
|
description: "Hardware to run test"
|
|
opea_branch:
|
|
default: "main"
|
|
required: false
|
|
type: string
|
|
description: 'OPEA branch for image build'
|
|
workflow_call:
|
|
inputs:
|
|
tag:
|
|
default: "latest"
|
|
required: true
|
|
type: string
|
|
description: "Tag to apply to images"
|
|
node:
|
|
default: "xeon"
|
|
required: true
|
|
type: string
|
|
description: "Hardware to run test"
|
|
opea_branch:
|
|
default: "main"
|
|
required: false
|
|
type: string
|
|
description: 'OPEA branch for image build'
|
|
|
|
jobs:
|
|
####################################################################################################
|
|
# Image Build and Scan
|
|
####################################################################################################
|
|
image-build:
|
|
runs-on: "docker-build-${{ inputs.node }}"
|
|
steps:
|
|
- name: Checkout GenAIInfra repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: opea-project/GenAIInfra
|
|
ref: ${{ inputs.opea_branch }}
|
|
path: GenAIInfra
|
|
|
|
- name: Set variables
|
|
id: set_variables
|
|
run: |
|
|
echo "DOCKER_REGISTRY=${OPEA_IMAGE_REPO}opea" >> $GITHUB_ENV
|
|
echo "IMAGE_REPO=${OPEA_IMAGE_REPO}" >> $GITHUB_OUTPUT
|
|
echo "VERSION=${{ inputs.tag }}" >> $GITHUB_ENV
|
|
echo "VERSION=${{ inputs.tag }}" >> $GITHUB_OUTPUT
|
|
|
|
- name: Build image and push
|
|
run: |
|
|
cd ${{github.workspace}}/GenAIInfra/microservices-connector
|
|
make docker.build
|
|
make docker.push
|
|
|
|
- name: Clean up images
|
|
if: always()
|
|
run: |
|
|
docker rmi ${{ env.DOCKER_REGISTRY }}/gmcrouter:${{ env.VERSION }}
|
|
docker rmi ${{ env.DOCKER_REGISTRY }}/gmcmanager:${{ env.VERSION }}
|
|
|
|
- name: Clean up GenAIInfra source codes
|
|
if: always()
|
|
run: |
|
|
rm -rf ${{github.workspace}}/GenAIInfra
|
|
|
|
####################################################################################################
|
|
# GMC Install
|
|
####################################################################################################
|
|
gmc-install:
|
|
needs: image-build
|
|
runs-on: "k8s-${{ inputs.node }}"
|
|
steps:
|
|
- name: Checkout GenAIInfra repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: opea-project/GenAIInfra
|
|
ref: ${{ inputs.opea_branch }}
|
|
path: GenAIInfra
|
|
|
|
- name: Set variables
|
|
run: |
|
|
echo "SYSTEM_NAMESPACE=opea-system" >> $GITHUB_ENV
|
|
echo "VERSION=${{ inputs.tag }}" >> $GITHUB_ENV
|
|
echo "SET_VERSION=true" >> $GITHUB_ENV # to change the tag of microservice images
|
|
|
|
- name: Cleanup existing GMC
|
|
run: |
|
|
cd GenAIInfra
|
|
.github/workflows/scripts/e2e/gmc_install.sh cleanup_gmc
|
|
cd ..
|
|
|
|
- name: Install GMC
|
|
run: |
|
|
cd GenAIInfra
|
|
.github/workflows/scripts/e2e/gmc_install.sh install_gmc
|
|
cd ..
|
|
|
|
- name: Clean up GenAIInfra source codes
|
|
if: always()
|
|
run: |
|
|
rm -rf ${{github.workspace}}/GenAIInfra
|