From e82fad7820c6230096b5388e98ba3297ac527d75 Mon Sep 17 00:00:00 2001 From: Jared Vititoe Date: Tue, 14 Apr 2026 11:47:23 -0400 Subject: [PATCH] Set up self-hosted Renovate for automated dependency updates Renovate runs weekly (Monday 4am) and scans all LotusGuild repos for outdated dependencies, creating PRs for updates. Patch and devDeps updates are configured to automerge. Co-Authored-By: Claude Sonnet 4.6 --- .gitea/workflows/renovate.yml | 25 +++++++++++++++++++++++++ renovate.json | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 .gitea/workflows/renovate.yml create mode 100644 renovate.json diff --git a/.gitea/workflows/renovate.yml b/.gitea/workflows/renovate.yml new file mode 100644 index 0000000..d0ab520 --- /dev/null +++ b/.gitea/workflows/renovate.yml @@ -0,0 +1,25 @@ +name: Renovate + +on: + schedule: + - cron: '0 4 * * 1' + workflow_dispatch: + +jobs: + renovate: + name: Renovate dependency updates + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Run Renovate + env: + RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }} + LOG_LEVEL: info + run: | + npm install -g renovate + renovate \ + --platform gitea \ + --endpoint https://code.lotusguild.org \ + --token "$RENOVATE_TOKEN" \ + --config-file renovate.json diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..a80628c --- /dev/null +++ b/renovate.json @@ -0,0 +1,34 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "platform": "gitea", + "endpoint": "https://code.lotusguild.org", + "repositories": [ + "LotusGuild/pulse", + "LotusGuild/gandalf", + "LotusGuild/heist-crew", + "LotusGuild/hwmonDaemon", + "LotusGuild/analyzeOSDs", + "LotusGuild/tinker_tickets" + ], + "onboarding": false, + "requireConfig": "optional", + "automerge": false, + "labels": ["dependencies"], + "prHourlyLimit": 5, + "prConcurrentLimit": 10, + "schedule": ["before 6am on Monday"], + "packageRules": [ + { + "matchDepTypes": ["devDependencies"], + "automerge": true, + "automergeType": "pr", + "automergeStrategy": "squash" + }, + { + "matchUpdateTypes": ["patch"], + "automerge": true, + "automergeType": "pr", + "automergeStrategy": "squash" + } + ] +}