From 75c68f57ef922bc73911cb5faa94577440b25e34 Mon Sep 17 00:00:00 2001 From: Damien Arnodo Date: Wed, 7 Jan 2026 13:28:19 +0000 Subject: [PATCH] feat(ci): support version files for image tagging and build-args --- .gitea/workflows/build-images.yml | 42 ++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/build-images.yml b/.gitea/workflows/build-images.yml index c76d7c6..5be09f4 100644 --- a/.gitea/workflows/build-images.yml +++ b/.gitea/workflows/build-images.yml @@ -89,11 +89,47 @@ jobs: fi echo "========================================" - echo "Building ${IMAGE_NAME}:latest" + echo "Building ${IMAGE_NAME}" echo "========================================" - docker build -t "${IMAGE_NAME}:latest" "${IMAGE_PATH}" - docker push "${IMAGE_NAME}:latest" + # Check for version file (format: _VERSION or VERSION) + VERSION="" + BUILD_ARGS="" + # Look for specific version file (e.g., NETBOX_VERSION, TERRAFORM_VERSION) + for version_file in "$IMAGE_PATH"/*_VERSION "$IMAGE_PATH"/VERSION; do + if [ -f "$version_file" ]; then + VERSION=$(cat "$version_file" | tr -d '[:space:]') + VERSION_NAME=$(basename "$version_file" | sed 's/_VERSION$//') + + if [ "$VERSION_NAME" = "VERSION" ]; then + # Generic VERSION file + echo "📌 Found VERSION file: $VERSION" + else + # Specific version file (e.g., NETBOX_VERSION) + echo "📌 Found ${VERSION_NAME}_VERSION file: $VERSION" + BUILD_ARGS="--build-arg ${VERSION_NAME}_VERSION=${VERSION}" + fi + break + fi + done + + # Build the image + if [ -n "$BUILD_ARGS" ]; then + echo "🔧 Building with args: $BUILD_ARGS" + docker build $BUILD_ARGS -t "${IMAGE_NAME}:latest" "$IMAGE_PATH" + else + docker build -t "${IMAGE_NAME}:latest" "$IMAGE_PATH" + fi + + # Push latest tag + docker push "${IMAGE_NAME}:latest" echo "✅ Pushed ${IMAGE_NAME}:latest" + + # Also tag and push with version if available + if [ -n "$VERSION" ]; then + docker tag "${IMAGE_NAME}:latest" "${IMAGE_NAME}:${VERSION}" + docker push "${IMAGE_NAME}:${VERSION}" + echo "✅ Pushed ${IMAGE_NAME}:${VERSION}" + fi done