CI(renovate): init

Summary:
Renovate has automerge, dependabot does not (I have to issue a
command via comment box).

Signed-off-by: Yongmin Hong <revi@omglol.email>

Test Plan: `npm run lint:renovate`, and land and wait for renovate to catch up

Reviewers: O1 revi & automations, revi

Reviewed By: O1 revi & automations, revi

Differential Revision: https://issuetracker.revi.xyz/D474
This commit is contained in:
revi 2024-06-30 17:08:16 +09:00
parent 1cceb76236
commit 44bf31948f
Signed by: revi
GPG key ID: 1EB4F6CEEA100E94
3 changed files with 9518 additions and 2657 deletions

103
.github/renovate.json vendored Normal file
View file

@ -0,0 +1,103 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
":gitSignOff",
":maintainLockFilesWeekly",
":pinSkipCi",
":prConcurrentLimit20",
":prHourlyLimit4",
":semanticCommits",
":semanticCommitTypeAll(CI)",
":separateMajorReleases",
":timezone(Asia/Seoul)"
],
"assignAutomerge": true,
"automerge": true,
"platformAutomerge": true,
"schedule": ["* */4 * * *"],
"assignees": ["revi"],
"internalChecksFilter": "strict",
"npmrcMerge": true,
"postUpdateOptions": ["npmDedupe"],
"azure-pipelines": {
"enabled": true
},
"git-submodules": {
"enabled": true,
"versioning": "git"
},
"labels": ["dependencies"],
"packageRules": [
{
"matchDatasources": ["npm"],
"matchPackageNames": [
"csslint",
"eslint",
"globals",
"jshint",
"prettier",
"typescript",
"wrangler"
],
"matchPackagePatterns": [
"^@eslint/",
"^eslint-",
"^@prettier/",
"^prettier-",
"^@types/"
],
"matchUpdateTypes": ["minor", "patch"],
"automerge": true,
"platformAutomerge": true,
"internalChecksFilter": "strict",
"minimumReleaseAge": "3 days",
"labels": ["dependencies", "javascript"],
"schedule": ["* */6 * * *"],
"timezone": "Asia/Seoul",
"groupName": "linters"
},
{
"matchDatasources": ["npm"],
"matchPackageNames": ["renovate"],
"schedule": ["before 4am on thursday"],
"labels": ["dependencies", "javascript"],
"prPriority": -1,
"groupName": "update renovate weekly (updates too often)",
"groupSlug": "weekly-update-renovate"
},
{
"matchDatasources": ["npm"],
"matchUpdateTypes": ["patch"],
"automerge": true,
"platformAutomerge": true,
"minimumReleaseAge": "3 days",
"internalChecksFilter": "strict",
"labels": ["dependencies", "javascript"],
"schedule": ["* */4 * * *"],
"timezone": "Asia/Seoul",
"groupName": "npm patch upgrades"
},
{
"matchDatasources": ["npm"],
"matchUpdateTypes": ["major"],
"automerge": false,
"platformAutomerge": false,
"minimumReleaseAge": "3 days",
"internalChecksFilter": "strict",
"labels": ["dependencies", "javascript"],
"schedule": ["* */4 * * *"],
"timezone": "Asia/Seoul",
"groupName": "npm major upgrades"
},
{
"matchDatasources": ["github-actions"],
"automerge": true,
"platformAutomerge": true,
"labels": ["dependencies", "github_actions"],
"schedule": ["* */4 * * *"],
"timezone": "Asia/Seoul",
"groupName": "github actions workflows upgrades"
}
]
}

12068
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -15,6 +15,7 @@
}, },
"scripts": { "scripts": {
"eslint": "eslint", "eslint": "eslint",
"lint:renovate": "renovate-config-validator",
"p:c": "prettier --check", "p:c": "prettier --check",
"p:w": "prettier --write" "p:w": "prettier --write"
}, },
@ -27,5 +28,8 @@
"name": "Yongmin Hong", "name": "Yongmin Hong",
"url": "https://revi.xyz", "url": "https://revi.xyz",
"email": "package-admin@revi.dev" "email": "package-admin@revi.dev"
},
"optionalDependencies": {
"renovate": "^37.421.0"
} }
} }