-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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.
- Loading branch information
1 parent
d47be81
commit b7efc38
Showing
2 changed files
with
94 additions
and
20 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
{ | ||
$schema: "https://docs.renovatebot.com/renovate-schema.json", | ||
extends: ["config:base", ":semanticCommitTypeAll(chore)"], | ||
packageRules: [ | ||
{ | ||
// Group these two as they may rely on one another during major version bumps | ||
matchPackageNames: ["actions/download-artifact", "actions/upload-artifact"], | ||
groupName: "Download + Upload Artifacts" | ||
}, | ||
{ | ||
matchPackagePatterns: ["@stencil/core", "@stencil/angular-output-target", "@stencil/react-output-target", "@stencil/sass", "@stencil/vue-output-target"], | ||
groupName: "stencil", | ||
matchFileNames: [ | ||
"core/package.json" | ||
] | ||
}, | ||
{ | ||
matchPackagePatterns: ["@capacitor/core", "@capacitor/keyboard", "@capacitor/haptics", "@capacitor/status-bar"], | ||
groupName: "capacitor", | ||
matchFileNames: [ | ||
"core/package.json" | ||
] | ||
}, | ||
{ | ||
matchDatasources: ["npm"], | ||
matchPackagePatterns: ["@playwright/test", "@axe-core/playwright"], | ||
groupName: "playwright", | ||
matchFileNames: [ | ||
"core/package.json" | ||
] | ||
}, | ||
{ | ||
matchPackagePatterns: ["ionicons"], | ||
groupName: "ionicons", | ||
matchFileNames: [ | ||
"core/package.json" | ||
] | ||
}, | ||
/** | ||
* While we update dependencies in certain directories, we currently | ||
* do not want to update every single dependency. Some of the dependencies are | ||
* very out of date, and the team needs to schedule work to account for | ||
* breaking changes in some of these updates. To potentially avoid a large number of | ||
* failing PRs the team has chosen to selectively enable dependencies to be updated | ||
* as we have capacity to account for breaking changes. | ||
*/ | ||
{ | ||
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"], | ||
groupName: "core-disabled", | ||
matchFileNames: [ | ||
"core/package.json" | ||
], | ||
enabled: false | ||
}, | ||
/** | ||
* Local Ionic dependencies are managed by the | ||
* workspace to ensure the correct local version is used. | ||
*/ | ||
{ | ||
matchPackagePatterns: ["@ionic/", "ionicons"], | ||
groupName: "ignore-local-ionic-deps", | ||
matchFileNames: [ | ||
"**/package.json" | ||
], | ||
enabled: false | ||
}, | ||
{ | ||
matchPackagePatterns: ["lerna", "semver"], | ||
groupName: "root-disabled", | ||
matchFileNames: [ | ||
"package.json" | ||
], | ||
enabled: false | ||
} | ||
], | ||
dependencyDashboard: false, | ||
minimumReleaseAge: "3 days", | ||
rebaseWhen: "never", | ||
schedule: ["every weekday before 11am"], | ||
semanticCommits: "enabled", | ||
ignorePaths: [ | ||
// Ionic Packages | ||
"packages/angular", | ||
"packages/angular-server", | ||
"packages/react", | ||
"packages/react-router", | ||
"packages/vue", | ||
"packages/vue-router", | ||
"docs", | ||
// Local Development Scripts | ||
"core/custom-rules", | ||
"core/scripts" | ||
] | ||
} |