From a0a70b0a3d9449a8236b54e49ecb6b847f33b4a1 Mon Sep 17 00:00:00 2001 From: leesam Date: Mon, 9 Mar 2026 12:37:11 +0900 Subject: [PATCH 1/2] chore: set up Renovate for automated dependency updates Adds renovate.json with custom regex managers for Tuist Project.swift-based packages (URL format) and mise tool tracking. Patches auto-merge enabled; minor/major require manual review. Runs every Monday before 9am KST. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/renovate.yml | 23 +++++++++++++ renovate.json | 62 ++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 .github/workflows/renovate.yml create mode 100644 renovate.json diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml new file mode 100644 index 0000000..9ef7acc --- /dev/null +++ b/.github/workflows/renovate.yml @@ -0,0 +1,23 @@ +name: Renovate + +on: + schedule: + - cron: '0 0 * * 1' # every Monday at 00:00 UTC (09:00 KST) + workflow_dispatch: + +permissions: + contents: write + pull-requests: write + +jobs: + renovate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: renovatebot/github-action@v46.1.4 + with: + configurationFile: renovate.json + token: ${{ secrets.RENOVATE_TOKEN }} + env: + LOG_LEVEL: 'debug' + RENOVATE_REPOSITORIES: ${{ github.repository }} diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..21e0216 --- /dev/null +++ b/renovate.json @@ -0,0 +1,62 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["config:recommended"], + "enabledManagers": ["mise", "custom.regex"], + "customManagers": [ + { + "customType": "regex", + "managerFilePatterns": ["/(^|/)Project\\.swift$/"], + "matchStrings": [ + "\\.remote\\(url:\\s*\"(?:https?:\\/\\/)?github\\.com\\/(?[\\w\\-_]+\\/[\\w\\-_.]+?)(?:\\.git)?\"[\\s,]*requirement:\\s*\\.(?:upToNextMajor|upToNextMinor)\\(from:\\s*\"(?[^\"]+)\"\\)" + ], + "datasourceTemplate": "github-releases" + }, + { + "customType": "regex", + "managerFilePatterns": ["/(^|/)Project\\.swift$/"], + "matchStrings": [ + "\\.remote\\(url:\\s*\"(?:https?:\\/\\/)?github\\.com\\/(?[\\w\\-_]+\\/[\\w\\-_.]+?)(?:\\.git)?\"[\\s,]*requirement:\\s*\\.(?:upToNextMajor|upToNextMinor)\\(from:\\s*\"(?[^\"]+)\"\\)" + ], + "datasourceTemplate": "github-tags" + }, + { + "customType": "regex", + "managerFilePatterns": ["/(^|/)Project\\.swift$/"], + "matchStrings": [ + "\\.remote\\(url:\\s*\"(?:https?:\\/\\/)?github\\.com\\/(?[\\w\\-_]+\\/[\\w\\-_.]+?)(?:\\.git)?\"[\\s,]*requirement:\\s*\\.exact\\(\"(?[^\"]+)\"\\)" + ], + "datasourceTemplate": "github-releases" + }, + { + "customType": "regex", + "managerFilePatterns": ["/(^|/)Project\\.swift$/"], + "matchStrings": [ + "\\.remote\\(url:\\s*\"(?:https?:\\/\\/)?github\\.com\\/(?[\\w\\-_]+\\/[\\w\\-_.]+?)(?:\\.git)?\"[\\s,]*requirement:\\s*\\.exact\\(\"(?[^\"]+)\"\\)" + ], + "datasourceTemplate": "github-tags" + } + ], + "packageRules": [ + { + "matchManagers": ["custom.regex"], + "groupName": "Swift dependencies", + "schedule": ["before 9am on monday"] + }, + { + "matchManagers": ["mise"], + "groupName": "Dev tools", + "schedule": ["before 9am on monday"] + }, + { + "matchUpdateTypes": ["patch"], + "automerge": true, + "automergeType": "branch" + }, + { + "matchUpdateTypes": ["minor", "major"], + "automerge": false + } + ], + "prConcurrentLimit": 3, + "prHourlyLimit": 2 +} From 2c2a5f9c986715faeda9716a009b0a3c655255f6 Mon Sep 17 00:00:00 2001 From: leesam Date: Mon, 9 Mar 2026 12:42:37 +0900 Subject: [PATCH 2/2] chore: disable schedule for manual testing Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/renovate.yml | 2 -- renovate.json | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index 9ef7acc..ef72e2e 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -1,8 +1,6 @@ name: Renovate on: - schedule: - - cron: '0 0 * * 1' # every Monday at 00:00 UTC (09:00 KST) workflow_dispatch: permissions: diff --git a/renovate.json b/renovate.json index 21e0216..e238b1d 100644 --- a/renovate.json +++ b/renovate.json @@ -40,12 +40,12 @@ { "matchManagers": ["custom.regex"], "groupName": "Swift dependencies", - "schedule": ["before 9am on monday"] + "schedule": ["at any time"] }, { "matchManagers": ["mise"], "groupName": "Dev tools", - "schedule": ["before 9am on monday"] + "schedule": ["at any time"] }, { "matchUpdateTypes": ["patch"],