56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
|
name: "Docker build"
|
||
|
description: "Builds a docker image"
|
||
|
inputs:
|
||
|
name:
|
||
|
description: "Directory name"
|
||
|
required: true
|
||
|
|
||
|
runs:
|
||
|
using: "composite"
|
||
|
steps:
|
||
|
- name: Checkout
|
||
|
uses: https://git.kjan.de/actions/checkout@v4
|
||
|
|
||
|
- name: Set up Docker Buildx
|
||
|
uses: https://git.kjan.de/actions/setup-buildx-action@v3
|
||
|
|
||
|
- name: Login to local Docker Registry
|
||
|
uses: https://git.kjan.de/actions/login-action@v3
|
||
|
with:
|
||
|
registry: git.kjan.de
|
||
|
username: ${{ secrets.REGISTRY_USERNAME }}
|
||
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||
|
|
||
|
- name: Login to Docker.io Registry
|
||
|
uses: https://git.kjan.de/actions/login-action@v3
|
||
|
with:
|
||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||
|
|
||
|
- name: Cache Docker layers
|
||
|
uses: actions/cache@v4
|
||
|
with:
|
||
|
path: /tmp/.buildx-cache
|
||
|
key: ${{ runner.os }}-${{ inputs.name }}-${{ github.sha }}
|
||
|
restore-keys: |
|
||
|
${{ runner.os }}-${{ inputs.name }}-
|
||
|
|
||
|
- name: Build and push
|
||
|
uses: https://git.kjan.de/actions/build-push-action@v6
|
||
|
with:
|
||
|
cache-from: type=local,src=/tmp/.buildx-cache
|
||
|
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
|
||
|
context: ./images/actions/${{ inputs.name }}
|
||
|
push: ${{ github.ref == 'refs/heads/main' }}
|
||
|
tags: |
|
||
|
git.kjan.de/actions/${{ inputs.name }}:latest
|
||
|
git.kjan.de/actions/${{ inputs.name }}:${{ gitea.sha }}
|
||
|
|
||
|
- # Temp fix
|
||
|
# https://github.com/docker/build-push-action/issues/252
|
||
|
# https://github.com/moby/buildkit/issues/1896
|
||
|
name: Move cache
|
||
|
run: |
|
||
|
rm -rf /tmp/.buildx-cache
|
||
|
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
|