Files
open-typer-docker/.gitea/workflows/release-docker.yml
scriptos 8120ec388a
All checks were successful
Release Docker Image / Build & Push Docker Image (release) Successful in 20m23s
Initial commit: Open-Typer Docker/WASM Setup
2026-04-15 11:02:17 +02:00

75 lines
2.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Open-Typer Docker CI Release Build
# Wird ausgelöst wenn ein Release veröffentlicht wird (Tag-Format: v1.0.0)
# Baut das WebAssembly-Image und pusht es in die Gitea Container Registry
# mit den Tags :latest und :vX.Y.Z
name: Release Docker Image
on:
release:
types: [published]
workflow_dispatch:
env:
IMAGE_NAME: open-typer-wasm
jobs:
docker:
name: Build & Push Docker Image
runs-on: ubuntu-latest
steps:
- name: Code auschecken
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Version aus Tag ermitteln
id: version
run: |
# Release-Tag aus dem Release-Event, oder letzter Git-Tag beim manuellen Auslösen
TAG="${{ github.event.release.tag_name }}"
if [ -z "$TAG" ]; then
TAG="$(git describe --tags --abbrev=0 2>/dev/null || echo '')"
fi
if [ -z "$TAG" ]; then
echo "::error::Kein Tag gefunden. Bitte zuerst ein Release oder Tag erstellen."
exit 1
fi
echo "tag=${TAG}" >> "$GITHUB_OUTPUT"
# 'v'-Präfix für den Docker-Tag entfernen
VERSION="${TAG#v}"
echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
# Protokoll (https://) aus der Registry-URL entfernen
REGISTRY="${{ vars.REGISTRY_URL }}"
REGISTRY="${REGISTRY#https://}"
REGISTRY="${REGISTRY#http://}"
echo "registry=${REGISTRY}" >> "$GITHUB_OUTPUT"
- name: Bei Gitea Container Registry anmelden
uses: docker/login-action@v3
with:
registry: ${{ vars.REGISTRY_URL }}
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Docker Buildx einrichten
uses: docker/setup-buildx-action@v3
- name: Docker Image bauen und pushen
uses: docker/build-push-action@v6
with:
context: .
push: true
build-args: |
VERSION=${{ steps.version.outputs.tag }}
tags: |
${{ steps.version.outputs.registry }}/${{ secrets.REGISTRY_USER }}/${{ env.IMAGE_NAME }}:latest
${{ steps.version.outputs.registry }}/${{ secrets.REGISTRY_USER }}/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.tag }}
labels: |
org.opencontainers.image.title=Open-Typer WebAssembly
org.opencontainers.image.description=Open-Typer als WebAssembly kostenloser Open-Source Tipp-Trainer, direkt im Browser nutzbar
org.opencontainers.image.version=${{ steps.version.outputs.version }}
org.opencontainers.image.source=${{ github.server_url }}/${{ github.repository }}
org.opencontainers.image.licenses=GPL-3.0