Files
stream-recorder/.gitea/workflows/docker-release.yaml
T
Patrick AsmusandClaude Opus 4.6 1ad87c7186
Build Dev Docker Image / build-amd64 (push) Successful in 7s
Build Dev Docker Image / build-arm64 (push) Successful in 10s
Build Dev Docker Image / publish-dev-manifest (push) Successful in 6s
Versionstags ohne v-Prefix aus Release-Workflow und README entfernt
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-09-16 09:54:13 +02:00

74 lines
2.2 KiB
YAML

name: Build Release Docker Image
on:
release:
types: [published]
env:
REGISTRY: git.techniverse.net
IMAGE: git.techniverse.net/scriptos/stream-recorder
jobs:
build-amd64:
runs-on: linux-amd64
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Login to Gitea Container Registry
run: echo "${REGISTRY_TOKEN}" | docker login "${REGISTRY}" -u "${GITHUB_ACTOR}" --password-stdin
env:
REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }}
- name: Build and push amd64 release image
run: |
RELEASE_TAG="${GITHUB_REF_NAME}"
docker build --pull --platform linux/amd64 \
-t "${IMAGE}:${RELEASE_TAG}-amd64" \
.
docker push "${IMAGE}:${RELEASE_TAG}-amd64"
build-arm64:
runs-on: linux-arm64
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Login to Gitea Container Registry
run: echo "${REGISTRY_TOKEN}" | docker login "${REGISTRY}" -u "${GITHUB_ACTOR}" --password-stdin
env:
REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }}
- name: Build and push arm64 release image
run: |
RELEASE_TAG="${GITHUB_REF_NAME}"
docker build --pull --platform linux/arm64 \
-t "${IMAGE}:${RELEASE_TAG}-arm64" \
.
docker push "${IMAGE}:${RELEASE_TAG}-arm64"
publish-release-manifest:
runs-on: linux-amd64
needs: [build-amd64, build-arm64]
steps:
- name: Login to Gitea Container Registry
run: echo "${REGISTRY_TOKEN}" | docker login "${REGISTRY}" -u "${GITHUB_ACTOR}" --password-stdin
env:
REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }}
- name: Publish release manifests
run: |
RELEASE_TAG="${GITHUB_REF_NAME}"
docker manifest create "${IMAGE}:${RELEASE_TAG}" \
--amend "${IMAGE}:${RELEASE_TAG}-amd64" \
--amend "${IMAGE}:${RELEASE_TAG}-arm64"
docker manifest push "${IMAGE}:${RELEASE_TAG}"
docker manifest create "${IMAGE}:latest" \
--amend "${IMAGE}:${RELEASE_TAG}-amd64" \
--amend "${IMAGE}:${RELEASE_TAG}-arm64"
docker manifest push "${IMAGE}:latest"