65 lines
2.0 KiB
YAML
65 lines
2.0 KiB
YAML
# Copyright (C) 2024 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
name: Image Build
|
|
permissions: read-all
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
image_repo:
|
|
required: false
|
|
type: string
|
|
image_tag:
|
|
required: true
|
|
type: string
|
|
mega_service:
|
|
required: true
|
|
type: string
|
|
runner_label:
|
|
required: false
|
|
type: string
|
|
default: 'docker-build-xeon'
|
|
outputs:
|
|
image_repo:
|
|
description: "The image reposity used for the image build"
|
|
value: ${{ jobs.mega-image-build.outputs.image_repo }}
|
|
image_tag:
|
|
description: "The image tag used for the image build"
|
|
value: ${{ jobs.mega-image-build.outputs.image_tag }}
|
|
|
|
jobs:
|
|
mega-image-build:
|
|
runs-on: ${{ inputs.runner_label }}
|
|
outputs:
|
|
image_repo: ${{ steps.build-megaservice-image.outputs.image_repo }}
|
|
image_tag: ${{ steps.build-megaservice-image.outputs.image_tag }}
|
|
steps:
|
|
- name: Get checkout ref
|
|
run: |
|
|
if [ "${{ github.event_name }}" == "pull_request" ] || [ "${{ github.event_name }}" == "pull_request_target" ]; then
|
|
echo "CHECKOUT_REF=refs/pull/${{ github.event.number }}/merge" >> $GITHUB_ENV
|
|
else
|
|
echo "CHECKOUT_REF=${{ github.ref }}" >> $GITHUB_ENV
|
|
fi
|
|
echo "checkout ref ${{ env.CHECKOUT_REF }}"
|
|
|
|
- name: Checkout out Repo
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ env.CHECKOUT_REF }}
|
|
fetch-depth: 0
|
|
|
|
- name: Building MegaService Docker Image
|
|
id: build-megaservice-image
|
|
env:
|
|
IMAGE_REPO: ${{ inputs.image_repo }}
|
|
IMAGE_TAG: ${{ inputs.image_tag }}
|
|
MEGA_SERVICE: ${{ inputs.mega_service }}
|
|
run: |
|
|
.github/workflows/scripts/build_push.sh ${{ env.MEGA_SERVICE}}
|
|
if [ -z "${{ env.IMAGE_REPO }}" ]; then
|
|
IMAGE_REPO=$OPEA_IMAGE_REPO
|
|
fi
|
|
echo "IMAGE_TAG=${IMAGE_TAG}"
|
|
echo "image_tag=$IMAGE_TAG" >> $GITHUB_OUTPUT
|