Files
MiauInv/.gitea/workflows/release-docker.yaml

43 lines
1.3 KiB
YAML

name: Build and Push Docker Image on Release
on:
release:
types: [published]
jobs:
build-and-push:
runs-on: docker-builder
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Enable QEMU for multi-arch builds
run: |
docker run --privileged --rm tonistiigi/binfmt --install all
- name: Create and use Docker Buildx builder
run: |
docker buildx create --name miauinv-builder --use || docker buildx use miauinv-builder
docker buildx inspect --bootstrap
- name: Log in to Gitea Container Registry
run: |
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.miaurizius.de \
--username "${{ secrets.REGISTRY_USER }}" \
--password-stdin
- name: Prepare Docker image tags
run: |
IMAGE_REPO="$(echo "git.miaurizius.de/${{ gitea.repository }}" | tr '[:upper:]' '[:lower:]')"
echo "IMAGE_REPO=$IMAGE_REPO" >> "$GITHUB_ENV"
- name: Build and push multi-arch Docker image
run: |
docker buildx build \
--platform linux/amd64,linux/arm64 \
--file ./Dockerfile \
--tag "$IMAGE_REPO:latest" \
--tag "$IMAGE_REPO:${{ gitea.event.release.tag_name }}" \
--push \
.