klip-sdk
Version:
JavaScript SDK to interact with klip App2App requests
82 lines (79 loc) • 2.55 kB
YAML
name: Build and push docker image
author: Jeff Kim & Bolt lee & Kyle Park
description: 'Build and push docker image'
inputs:
repository:
description: '' # Filled out description.
required: true
default: 'sample-repository'
registry:
description: '' # Filled out description.
required: true
default: 'sample-registry'
dockerfile:
description: '' # Filled out description.
required: true
default: Dockerfile
arm64:
description: '' # Filled out description.
required: false
default: false
file-changes:
description: 'file pattern list for checking rebuilding image or not'
required: false
default: ''
file-ignore-changes:
description: 'file pattern list for checking rebuilding image or not'
required: false
default: ''
extra-build-args:
description: ''
required: false
default: ''
base_sha:
description: ''
required: false
default: ''
sha:
description: ''
required: false
default: ''
deploy_env:
description: ''
required: false
default: ''
runs:
using: "composite"
steps:
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Enable BuildKit
shell: bash
run: |
export DOCKER_BUILDKIT=1
docker buildx create --use
- name: Docker Build and push (x86_64)
if: ${{ inputs.arm64 != 'true' }}
shell: bash
run: |
docker buildx build ${{ inputs.extra-build-args }} -f ${GITHUB_WORKSPACE}/${{ inputs.dockerfile }} . \
--platform linux/amd64 \
--tag ${{ inputs.registry }}/${{ inputs.repository }}:latest \
--tag ${{ inputs.registry }}/${{ inputs.repository }}:${{ github.sha }} \
--tag ${{ inputs.registry }}/trivy-scanning:${{ github.sha }} \
--push
- name: Docker Build and push (arm64)
if: ${{ inputs.arm64 == 'true' }}
shell: bash
run: |
docker buildx build --platform linux/arm64 ${{ inputs.extra-build-args }} -f ${GITHUB_WORKSPACE}/${{ inputs.dockerfile }} . \
--tag ${{ inputs.registry }}/${{ inputs.repository }}:latest \
--tag ${{ inputs.registry }}/${{ inputs.repository }}:${{ github.sha }} \
# --cache-from=type=registry,ref=${{ inputs.registry }}/${{ inputs.repository }}:cache-arm64 \
# --cache-to=type=registry,ref=${{ inputs.registry }}/${{ inputs.repository }}:cache-arm64,mode=max \
--push