From a8832bad920c8e15983d904e5fb82f5695228d9b Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 5 Sep 2025 09:30:02 -0400 Subject: [PATCH 1/6] Renaming Renovate workflows to disable for now. --- .gitea/workflows/check-renovate.yml.hold | 20 ++++ .gitea/workflows/renovate-pr-deploy.yml.hold | 98 ++++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 .gitea/workflows/check-renovate.yml.hold create mode 100644 .gitea/workflows/renovate-pr-deploy.yml.hold diff --git a/.gitea/workflows/check-renovate.yml.hold b/.gitea/workflows/check-renovate.yml.hold new file mode 100644 index 00000000..1721d46b --- /dev/null +++ b/.gitea/workflows/check-renovate.yml.hold @@ -0,0 +1,20 @@ +name: Check Renovate Updates + +on: + pull_request: + branches: + - main + types: [opened, synchronize, reopened] + paths: + - 'docker-compose.yml' + +jobs: + validate: + runs-on: ubuntu-latest + if: ${{ contains(toLower(github.event.pull_request.user.login), 'renovate') }} + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Validate docker-compose.yml + run: docker compose config diff --git a/.gitea/workflows/renovate-pr-deploy.yml.hold b/.gitea/workflows/renovate-pr-deploy.yml.hold new file mode 100644 index 00000000..eaea2af5 --- /dev/null +++ b/.gitea/workflows/renovate-pr-deploy.yml.hold @@ -0,0 +1,98 @@ +name: Deploy Renovate Updates + +on: + workflow_run: + workflows: ["Check Renovate Updates"] + types: + - completed + +jobs: + deploy: + runs-on: ubuntu-latest + if: > + ${{ + github.event.workflow_run.conclusion == 'success' && + contains(toLower(github.event.workflow_run.head_commit.author.name), 'renovate') + }} + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 # we need full history to compute merge-base + + - name: Set up Docker + uses: docker/setup-buildx-action@v3 + + - name: Log in to Docker (if needed) + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Install yq + run: | + sudo wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq + sudo chmod +x /usr/bin/yq + + - name: Get modified services including dependencies + id: modified_services + run: | + echo "Finding modified services in docker-compose.yml..." + + # Find merge-base with previous main commit + BASE_COMMIT=$(git merge-base HEAD HEAD~1) + + # Extract changed services between merge-base and HEAD + CHANGED_SERVICES=$(git diff --name-only $BASE_COMMIT HEAD -- docker-compose.yml \ + | xargs -r -I{} yq e '.services | keys | .[]' {}) + + if [ -z "$CHANGED_SERVICES" ]; then + echo "No services changed, skipping." + exit 0 + fi + + declare -A VISITED + ALL_DEPLOY=() + + get_deps() { + local service=$1 + if [[ -n "${VISITED[$service]}" ]]; then + return + fi + VISITED[$service]=1 + ALL_DEPLOY+=("$service") + + # Array style depends_on + deps=$(yq e ".services.\"$service\".depends_on[]?" docker-compose.yml 2>/dev/null) + for dep in $deps; do + get_deps "$dep" + done + + # Mapping style depends_on (with condition) + deps_map=$(yq e ".services.\"$service\".depends_on | keys[]" docker-compose.yml 2>/dev/null) + for dep in $deps_map; do + get_deps "$dep" + done + } + + for svc in $CHANGED_SERVICES; do + get_deps "$svc" + done + + echo "Services to deploy: ${ALL_DEPLOY[@]}" + echo "modified_services=${ALL_DEPLOY[@]}" >> $GITHUB_ENV + + - name: Pull images for modified services + if: env.modified_services != '' + run: | + echo "Pulling images for services: $modified_services" + for svc in $modified_services; do + docker compose pull $svc || echo "Failed to pull $svc, continuing..." + done + + - name: Deploy updated services + if: env.modified_services != '' + run: | + echo "Deploying services: $modified_services" + docker compose up -d $modified_services -- 2.52.0 From 744b1f5443f28137950b7dcdd3779fc24798a6c5 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 5 Sep 2025 09:30:02 -0400 Subject: [PATCH 2/6] Updating package rules for renovate.json. --- renovate.json | 56 ++++++++++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/renovate.json b/renovate.json index 7c82874a..c2c5acf6 100644 --- a/renovate.json +++ b/renovate.json @@ -15,37 +15,43 @@ ], "packageRules": [ { - "matchCategories": [ - "docker" - ], - "enabled": true + "description": "Pin ClickHouse to the exact version used by Signoz", + "matchPackageNames": ["clickhouse/clickhouse-server"], + "allowedVersions": "^24\\.1\\.2-alpine$", + "groupName": "signoz-clickhouse", + "semanticCommitScope": "signoz-clickhouse" }, { - "matchDatasources": [ - "docker" - ], - "matchPackageNames": [ - "clickhouse/clickhouse-server" - ], - "enabled": false + "description": "Allow only Alpine tag upgrades for all Alpine‑based images", + "matchDatasources": ["docker"], + "matchPackagePatterns": [".*alpine.*"], + "allowedVersions": "/alpine/i", + "groupName": "alpine-upgrades", + "semanticCommitScope": "{{depName}}" }, { - "matchDatasources": [ - "docker" - ], - "allowedVersions": "/.*-alpine$/", - "matchPackageNames": [ - "/.*-alpine$/" - ] + "description": "Pin postgres image – never upgrade", + "matchPackageNames": ["postgres"], + "pin": true, + "semanticCommitScope": "postgres" }, { - "matchDatasources": [ - "docker" - ], - "enabled": false, - "matchPackageNames": [ - "/^.*:latest$/" - ] + "description": "Pin pgvector image – never upgrade", + "matchPackageNames": ["pgvector/pgvector"], + "pin": true, + "semanticCommitScope": "pgvector" + }, + { + "description": "Pin pgvecto‑rs image – never upgrade", + "matchPackageNames": ["pgvecto-rs/pgvecto-rs"], + "pin": true, + "semanticCommitScope": "pgvecto-rs" + }, + { + "description": "Default rule for all remaining Docker images", + "matchDatasources": ["docker"], + "groupName": "docker-images", + "semanticCommitScope": "{{depName}}" } ], "customManagers": [], -- 2.52.0 From 9ca9fb9766bc40680e384a3aeb5ef98f99e6613d Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 5 Sep 2025 09:38:22 -0400 Subject: [PATCH 3/6] Typo fix. --- renovate.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index c2c5acf6..091cf126 100644 --- a/renovate.json +++ b/renovate.json @@ -24,7 +24,7 @@ { "description": "Allow only Alpine tag upgrades for all Alpine‑based images", "matchDatasources": ["docker"], - "matchPackagePatterns": [".*alpine.*"], + "matchPackagePattern": [".*alpine.*"], "allowedVersions": "/alpine/i", "groupName": "alpine-upgrades", "semanticCommitScope": "{{depName}}" -- 2.52.0 From 0ea6f0f0d3ac4f21abf13c1c2b1edcc3df49fb62 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 5 Sep 2025 10:28:14 -0400 Subject: [PATCH 4/6] Typo fix. --- renovate.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index 091cf126..c2c5acf6 100644 --- a/renovate.json +++ b/renovate.json @@ -24,7 +24,7 @@ { "description": "Allow only Alpine tag upgrades for all Alpine‑based images", "matchDatasources": ["docker"], - "matchPackagePattern": [".*alpine.*"], + "matchPackagePatterns": [".*alpine.*"], "allowedVersions": "/alpine/i", "groupName": "alpine-upgrades", "semanticCommitScope": "{{depName}}" -- 2.52.0 From 4a30c6a45c52b58f751e537689294ffd7d48666a Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 5 Sep 2025 10:34:29 -0400 Subject: [PATCH 5/6] Typo fix. --- renovate.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index c2c5acf6..091cf126 100644 --- a/renovate.json +++ b/renovate.json @@ -24,7 +24,7 @@ { "description": "Allow only Alpine tag upgrades for all Alpine‑based images", "matchDatasources": ["docker"], - "matchPackagePatterns": [".*alpine.*"], + "matchPackagePattern": [".*alpine.*"], "allowedVersions": "/alpine/i", "groupName": "alpine-upgrades", "semanticCommitScope": "{{depName}}" -- 2.52.0 From 8e2c31cc0f7e4c298c93452af3c2a7b92950c921 Mon Sep 17 00:00:00 2001 From: "Trez.One" Date: Fri, 5 Sep 2025 16:03:31 -0400 Subject: [PATCH 6/6] Attempting to fix matchPackagePatterns for Alpine rule. --- renovate.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/renovate.json b/renovate.json index 091cf126..b8952a1f 100644 --- a/renovate.json +++ b/renovate.json @@ -22,10 +22,10 @@ "semanticCommitScope": "signoz-clickhouse" }, { - "description": "Allow only Alpine tag upgrades for all Alpine‑based images", + "description": "Allow only Alpine tag upgrades for all Alpine-based images", "matchDatasources": ["docker"], - "matchPackagePattern": [".*alpine.*"], - "allowedVersions": "/alpine/i", + "matchPackagePatterns": [".*alpine.*"], + "allowedVersions": ".*alpine.*", "groupName": "alpine-upgrades", "semanticCommitScope": "{{depName}}" }, -- 2.52.0