Merge pull request 'Update workflow: separate builds for main and dev, push to lcc_tool_container' (#5) from dev into main

Reviewed-on: #5
This commit is contained in:
Jan Weber 2025-11-20 10:23:37 +00:00
commit 63ee1fdf19
2 changed files with 47 additions and 50 deletions

View file

@ -4,7 +4,9 @@ on:
push: push:
branches: branches:
- main - main
- develop - dev
tags:
- 'v*'
pull_request: pull_request:
branches: branches:
- main - main
@ -21,17 +23,55 @@ jobs:
run: | run: |
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.avatic.de -u "${{ gitea.actor }}" --password-stdin echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.avatic.de -u "${{ gitea.actor }}" --password-stdin
- name: Prepare Docker tags
id: tags
run: |
IMAGE_BASE="git.avatic.de/avatic/lcc_tool_container/lcc"
TAGS=""
# SHA tag (immer)
TAGS="${TAGS} -t ${IMAGE_BASE}:${{ gitea.sha }}"
# Branch-spezifische Tags
if [ "${{ gitea.ref_name }}" = "main" ]; then
TAGS="${TAGS} -t ${IMAGE_BASE}:latest"
TAGS="${TAGS} -t ${IMAGE_BASE}:main"
elif [ "${{ gitea.ref_name }}" = "dev" ]; then
TAGS="${TAGS} -t ${IMAGE_BASE}:dev"
fi
# Release-Tag (wenn es ein Tag ist)
if [[ "${{ gitea.ref }}" == refs/tags/* ]]; then
VERSION="${{ gitea.ref_name }}"
TAGS="${TAGS} -t ${IMAGE_BASE}:${VERSION}"
fi
echo "tags=${TAGS}" >> $GITHUB_OUTPUT
echo "image_base=${IMAGE_BASE}" >> $GITHUB_OUTPUT
- name: Build Docker image - name: Build Docker image
run: | run: |
docker build \ docker build \
--build-arg BUILDKIT_INLINE_CACHE=1 \ --build-arg BUILDKIT_INLINE_CACHE=1 \
-t git.avatic.de/${{ gitea.repository_owner }}/lcc:${{ gitea.sha }} \ ${{ steps.tags.outputs.tags }} \
-t git.avatic.de/${{ gitea.repository_owner }}/lcc:latest \
-t git.avatic.de/${{ gitea.repository_owner }}/lcc:${{ gitea.ref_name }} \
. .
- name: Push Docker images - name: Push Docker images
run: | run: |
docker push git.avatic.de/${{ gitea.repository_owner }}/lcc:${{ gitea.sha }} IMAGE_BASE="${{ steps.tags.outputs.image_base }}"
docker push git.avatic.de/${{ gitea.repository_owner }}/lcc:latest
docker push git.avatic.de/${{ gitea.repository_owner }}/lcc:${{ gitea.ref_name }} # Push SHA (immer)
docker push ${IMAGE_BASE}:${{ gitea.sha }}
# Push branch-spezifische Tags
if [ "${{ gitea.ref_name }}" = "main" ]; then
docker push ${IMAGE_BASE}:latest
docker push ${IMAGE_BASE}:main
elif [ "${{ gitea.ref_name }}" = "dev" ]; then
docker push ${IMAGE_BASE}:dev
fi
# Push Release-Tag (wenn vorhanden)
if [[ "${{ gitea.ref }}" == refs/tags/* ]]; then
docker push ${IMAGE_BASE}:${{ gitea.ref_name }}
fi

View file

@ -1,43 +0,0 @@
name: Build and Push Release Docker Image
on:
push:
tags:
- 'v*.*.*'
workflow_dispatch:
jobs:
build-and-push-release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Login to Gitea Container Registry
run: |
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.avatic.de -u "${{ gitea.actor }}" --password-stdin
- name: Extract version from tag
id: version
run: |
if [ "${{ gitea.ref_type }}" == "tag" ]; then
echo "version=${{ gitea.ref_name }}" >> $GITHUB_OUTPUT
else
echo "version=manual-$(date +%Y%m%d-%H%M%S)" >> $GITHUB_OUTPUT
fi
- name: Build Docker image
run: |
docker build \
--build-arg BUILDKIT_INLINE_CACHE=1 \
-t git.avatic.de/${{ gitea.repository_owner }}/lcc-release:${{ steps.version.outputs.version }} \
-t git.avatic.de/${{ gitea.repository_owner }}/lcc-release:latest \
-t git.avatic.de/${{ gitea.repository_owner }}/lcc:latest \
.
- name: Push Docker images
run: |
docker push git.avatic.de/${{ gitea.repository_owner }}/lcc-release:${{ steps.version.outputs.version }}
docker push git.avatic.de/${{ gitea.repository_owner }}/lcc-release:latest
docker push git.avatic.de/${{ gitea.repository_owner }}/lcc:latest