Skip to content

Commit b7efc38

Browse files
authored
chore: migrate to renovatebot, add support for GitHub actions (#29045)
GitHub Actions is [transitioning from Node 16 to Node 20](https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/). As a result, we have several GitHub Actions that need to be updated. Rather than update these actions manually, I decided to have Renovatebot do it. This PR adds Renovatebot so it can automatically create PRs to update our GitHub Actions dependencies. I also migrated the Dependabot config to use Renovatebot so we don't have two dependency management tools. Example test run: https://github.com/liamdebeasi/framework-renovate-test/pulls Note: You can ignore the Docker update. I am using this fork for Docker-related work as well. As a result of this PR, Renovatebot will create several PRs on this repo to update GitHub Actions dependencies.
1 parent d47be81 commit b7efc38

File tree

2 files changed

+94
-20
lines changed

2 files changed

+94
-20
lines changed

.github/dependabot.yml

Lines changed: 0 additions & 20 deletions
This file was deleted.

renovate.json5

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
{
2+
$schema: "https://docs.renovatebot.com/renovate-schema.json",
3+
extends: ["config:base", ":semanticCommitTypeAll(chore)"],
4+
packageRules: [
5+
{
6+
// Group these two as they may rely on one another during major version bumps
7+
matchPackageNames: ["actions/download-artifact", "actions/upload-artifact"],
8+
groupName: "Download + Upload Artifacts"
9+
},
10+
{
11+
matchPackagePatterns: ["@stencil/core", "@stencil/angular-output-target", "@stencil/react-output-target", "@stencil/sass", "@stencil/vue-output-target"],
12+
groupName: "stencil",
13+
matchFileNames: [
14+
"core/package.json"
15+
]
16+
},
17+
{
18+
matchPackagePatterns: ["@capacitor/core", "@capacitor/keyboard", "@capacitor/haptics", "@capacitor/status-bar"],
19+
groupName: "capacitor",
20+
matchFileNames: [
21+
"core/package.json"
22+
]
23+
},
24+
{
25+
matchDatasources: ["npm"],
26+
matchPackagePatterns: ["@playwright/test", "@axe-core/playwright"],
27+
groupName: "playwright",
28+
matchFileNames: [
29+
"core/package.json"
30+
]
31+
},
32+
{
33+
matchPackagePatterns: ["ionicons"],
34+
groupName: "ionicons",
35+
matchFileNames: [
36+
"core/package.json"
37+
]
38+
},
39+
/**
40+
* While we update dependencies in certain directories, we currently
41+
* do not want to update every single dependency. Some of the dependencies are
42+
* very out of date, and the team needs to schedule work to account for
43+
* breaking changes in some of these updates. To potentially avoid a large number of
44+
* failing PRs the team has chosen to selectively enable dependencies to be updated
45+
* as we have capacity to account for breaking changes.
46+
*/
47+
{
48+
matchPackagePatterns: ["tslib", "@ionic/", "@rollup/", "@types/", "@typescript-eslint/", "clean-css-cli", "domino", "eslint", "eslint-config-prettier", "execa", "fs-extra", "jest", "jest-cli", "prettier", "puppeteer", "rollup", "sass", "serve", "stylelint", "stylelint-order"],
49+
groupName: "core-disabled",
50+
matchFileNames: [
51+
"core/package.json"
52+
],
53+
enabled: false
54+
},
55+
/**
56+
* Local Ionic dependencies are managed by the
57+
* workspace to ensure the correct local version is used.
58+
*/
59+
{
60+
matchPackagePatterns: ["@ionic/", "ionicons"],
61+
groupName: "ignore-local-ionic-deps",
62+
matchFileNames: [
63+
"**/package.json"
64+
],
65+
enabled: false
66+
},
67+
{
68+
matchPackagePatterns: ["lerna", "semver"],
69+
groupName: "root-disabled",
70+
matchFileNames: [
71+
"package.json"
72+
],
73+
enabled: false
74+
}
75+
],
76+
dependencyDashboard: false,
77+
minimumReleaseAge: "3 days",
78+
rebaseWhen: "never",
79+
schedule: ["every weekday before 11am"],
80+
semanticCommits: "enabled",
81+
ignorePaths: [
82+
// Ionic Packages
83+
"packages/angular",
84+
"packages/angular-server",
85+
"packages/react",
86+
"packages/react-router",
87+
"packages/vue",
88+
"packages/vue-router",
89+
"docs",
90+
// Local Development Scripts
91+
"core/custom-rules",
92+
"core/scripts"
93+
]
94+
}

0 commit comments

Comments
 (0)