Files
ionic-framework/renovate.json5
Liam DeBeasi b7efc38c38 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.
2024-02-14 02:32:36 +00:00

95 lines
3.0 KiB
Plaintext

{
$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"
]
}