Files
tmserver-docker/.gitea/workflows/docker-publish.yml
T
Patrick Asmus 9a19e40e3d
Build & Push Docker Image / build-and-push (push) Successful in 1m58s
fix(ci): Image explizit fuer linux/amd64 bauen
Das Image v1.4.0 wurde auf einem arm64-Runner gebaut und startet auf
amd64-Hosts nicht (exec format error). Ich baue jetzt per buildx mit
--platform linux/amd64 (QEMU als Fallback). docker-compose.yml zeigt auf
1.4.1.
2026-11-01 17:22:27 +01:00

50 lines
1.5 KiB
YAML

name: Build & Push Docker Image
# Wird ausgeloest, wenn ein Tag wie "v1.3.0" gepusht wird
on:
push:
tags:
- 'v*'
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
# "v1.3.0" -> "1.3.0" (fuehrendes "v" entfernen)
- name: Version aus Tag extrahieren
id: version
run: |
VERSION=$(echo "${{ gitea.ref_name }}" | sed 's/^v//')
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
- name: Bei Gitea Registry einloggen
run: |
echo "${{ secrets.REGISTRY_TOKEN }}" | \
docker login git.techniverse.net \
--username "${{ secrets.REGISTRY_USER }}" \
--password-stdin
# Der TM-Dedicated-Server ist ein x86-Binary -> Image immer fuer
# linux/amd64 bauen, auch wenn der Job auf einem arm64-Runner landet
# (v1.4.0 wurde versehentlich als arm64 gebaut: "exec format error").
- name: QEMU einrichten
uses: docker/setup-qemu-action@v3
with:
platforms: amd64
- name: Buildx einrichten
uses: docker/setup-buildx-action@v3
- name: Docker Image bauen und pushen (linux/amd64)
run: |
docker buildx build \
--platform linux/amd64 \
-t git.techniverse.net/scriptos/trackmania-server:${{ steps.version.outputs.VERSION }} \
-t git.techniverse.net/scriptos/trackmania-server:latest \
--push \
.