Skip to content

Cleaned up Github Actions cache option #140

Cleaned up Github Actions cache option

Cleaned up Github Actions cache option #140

Workflow file for this run

name: Docker Image CI
on:
push:
branches: [ main, develop ]
tags:
- 'v*.*.*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Get Tag Version
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: DockerHub Login
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Docker Setup QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm,arm64,amd64
- name: Docker Setup Buildx
uses: docker/setup-buildx-action@v3
- name: Build & Push Docker image (Latest)
if: github.event_name == 'push' && startsWith(github.ref, 'refs/heads/')
run: |
docker buildx build . \
--file Dockerfile \
--cache-from=type=registry,ref=kcapp/api:cache \
--cache-to=type=registry,ref=kcapp/api:cache,mode=max \
-t kcapp/api:latest \
--platform=linux/arm,linux/arm64,linux/amd64 \
--push
- name: Build & Push Docker image (Release version)
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
run: |
docker buildx build . \
--file Dockerfile \
--cache-from=type=registry,ref=kcapp/api:cache \
--cache-to=type=registry,ref=kcapp/api:cache,mode=max \
-t kcapp/api:${{ env.RELEASE_VERSION }} \
--platform=linux/arm,linux/arm64,linux/amd64 \
--push