Build & Push Docker Image / build-and-push (push) Successful in 1m58s
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.
50 lines
1.5 KiB
YAML
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 \
|
|
.
|