From 4e64abfda1556aae5447c096df7924b7cece36c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=90=8C=E6=A3=AE?= Date: Mon, 22 Jul 2024 11:43:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20renovate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 萌森 --- .github/workflows/renovate-app-version.sh | 28 +++++++++++++------ .github/workflows/renovate-app-version.sh.bac | 26 +++++++++++++++++ 2 files changed, 45 insertions(+), 9 deletions(-) create mode 100644 .github/workflows/renovate-app-version.sh.bac diff --git a/.github/workflows/renovate-app-version.sh b/.github/workflows/renovate-app-version.sh index 017b22e7..c9f74829 100644 --- a/.github/workflows/renovate-app-version.sh +++ b/.github/workflows/renovate-app-version.sh @@ -9,18 +9,28 @@ docker_compose_files=$(find apps/$app_name/$old_version -name docker-compose.yml for docker_compose_file in $docker_compose_files do - # Assuming that the app version will be from the first docker image - first_service=$(yq '.services | keys | .[0]' $docker_compose_file) + # Assuming that the app version will be from the first docker image + first_service=$(yq '.services | keys | .[0]' $docker_compose_file) - image=$(yq .services.$first_service.image $docker_compose_file) + image=$(yq .services.$first_service.image $docker_compose_file) - # Only apply changes if the format is : - if [[ "$image" == *":"* ]]; then - version=$(cut -d ":" -f2- <<< "$image") + # Only apply changes if the format is : + if [[ "$image" == *":"* ]]; then + version=$(cut -d ":" -f2- <<< "$image") - # Trim the "v" prefix - trimmed_version=${version/#"v"} + # Trim the "v" prefix + trimmed_version=${version/#"v"} - mv apps/$app_name/$old_version apps/$app_name/$trimmed_version + # Handle special versions with dates and other formats + if [[ "$trimmed_version" =~ ^[0-9]+(\.[0-9]+){0,3}$ ]]; then + # Extract the version part which can be 1 to 4 segments + trimmed_version=$(echo $trimmed_version | grep -oE '^[0-9]+(\.[0-9]+){0,4}') + elif [[ "$trimmed_version" =~ ^RELEASE\.[0-9]{4}-[0-9]{2}-[0-9]{2} ]]; then + # Handle minio version format RELEASE.YYYY-MM-DDTHH-MM-SSZ + trimmed_version=$(echo $trimmed_version | grep -oE '[0-9]{4}-[0-9]{2}-[0-9]{2}') + fi + + # Move to the new versioned directory + mv apps/$app_name/$old_version apps/$app_name/$trimmed_version fi done diff --git a/.github/workflows/renovate-app-version.sh.bac b/.github/workflows/renovate-app-version.sh.bac new file mode 100644 index 00000000..017b22e7 --- /dev/null +++ b/.github/workflows/renovate-app-version.sh.bac @@ -0,0 +1,26 @@ +#!/bin/bash +# This script copies the version from docker-compose.yml to config.json. + +app_name=$1 +old_version=$2 + +# find all docker-compose files under apps/$app_name (there should be only one) +docker_compose_files=$(find apps/$app_name/$old_version -name docker-compose.yml) + +for docker_compose_file in $docker_compose_files +do + # Assuming that the app version will be from the first docker image + first_service=$(yq '.services | keys | .[0]' $docker_compose_file) + + image=$(yq .services.$first_service.image $docker_compose_file) + + # Only apply changes if the format is : + if [[ "$image" == *":"* ]]; then + version=$(cut -d ":" -f2- <<< "$image") + + # Trim the "v" prefix + trimmed_version=${version/#"v"} + + mv apps/$app_name/$old_version apps/$app_name/$trimmed_version + fi +done