mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
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.
95 lines
3.0 KiB
Plaintext
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"
|
|
]
|
|
}
|