diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 081fecf131..38a1597848 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -94,7 +94,6 @@ apps/web/src/app/core @bitwarden/team-platform-dev apps/web/src/app/shared @bitwarden/team-platform-dev apps/web/src/translation-constants.ts @bitwarden/team-platform-dev # Workflows -# Any changes here should also be reflected in Renovate configuration .github/workflows/automatic-issue-responses.yml @bitwarden/team-platform-dev .github/workflows/automatic-pull-request-responses.yml @bitwarden/team-platform-dev .github/workflows/build-browser-target.yml @bitwarden/team-platform-dev @@ -164,7 +163,6 @@ apps/desktop/src/locales/en/messages.json apps/web/src/locales/en/messages.json ## BRE team owns these workflows ## -# Any changes here should also be reflected in Renovate configuration ## .github/workflows/brew-bump-desktop.yml @bitwarden/dept-bre .github/workflows/deploy-web.yml @bitwarden/dept-bre .github/workflows/publish-cli.yml @bitwarden/dept-bre diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 12ae415c6a..0ebc2c210a 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -4,51 +4,10 @@ enabledManagers: ["cargo", "github-actions", "npm"], packageRules: [ { - // Group all build/test/lint workflows for GitHub Actions together for Platform. - // Since they are code owners we don't need to assign a review team in Renovate. - // Any changes here should also be reflected in CODEOWNERS. - groupName: "github-action", + // Group all Github Action minor updates together to reduce PR noise. + groupName: "Minor github-actions updates", matchManagers: ["github-actions"], - matchFileNames: [ - "./github/workflows/automatic-issue-responses.yml", - "./github/workflows/automatic-pull-request-responses.yml", - "./github/workflows/build-browser.yml", - "./github/workflows/build-cli.yml", - "./github/workflows/build-desktop.yml", - "./github/workflows/build-web.yml", - "./github/workflows/chromatic.yml", - "./github/workflows/crowdin-pull.yml", - "./github/workflows/enforce-labels.yml", - "./github/workflows/lint.yml", - "./github/workflows/locales-lint.yml", - "./github/workflows/repository-management.yml", - "./github/workflows/scan.yml", - "./github/workflows/stale-bot.yml", - "./github/workflows/test.yml", - "./github/workflows/version-auto-bump.yml", - ], - commitMessagePrefix: "[deps] Platform:", - }, - { - // Group all release-related workflows for GitHub Actions together for BRE. - // Since they are code owners we don't need to assign a review team in Renovate. - // Any changes here should also be reflected in CODEOWNERS. - groupName: "github-action", - matchManagers: ["github-actions"], - matchFileNames: [ - "./github/workflows/brew-bump-desktop.yml", - "./github/workflows/deploy-web.yml", - "./github/workflows/publish-cli.yml", - "./github/workflows/publish-desktop.yml", - "./github/workflows/publish-web.yml", - "./github/workflows/retrieve-current-desktop-rollout.yml", - "./github/workflows/staged-rollout-desktop.yml", - "./github/workflows/release-cli.yml", - "./github/workflows/release-desktop-beta.yml", - "./github/workflows/release-desktop.yml", - "./github/workflows/release-web.yml", - ], - commitMessagePrefix: "[deps] BRE:", + matchUpdateTypes: ["minor"], addLabels: ["hold"], }, { @@ -60,7 +19,7 @@ { // By default, we send patch updates to the Dependency Dashboard and do not generate a PR. // We want to generate PRs for a select number of dependencies to ensure we stay up to date on these. - matchPackageNames: ["browserslist", "electron", "rxjs", "typescript", "webpack"], + matchPackageNames: ["browserslist", "electron", "rxjs", "typescript", "webpack", "zone.js"], matchUpdateTypes: ["patch"], dependencyDashboardApproval: false, }, @@ -86,49 +45,7 @@ enabled: false, }, { - // Renovate should manage patch updates for TypeScript and Zone.js, despite ignoring major and minor. - matchPackageNames: ["typescript", "zone.js"], - matchUpdateTypes: "patch", - }, - { - // We want to update all the Jest-related packages together, to reduce PR noise. - groupName: "jest", - matchPackageNames: ["@types/jest", "jest", "ts-jest", "jest-preset-angular"], - }, - { - // We need to group all napi-related packages together to avoid build errors caused by version incompatibilities. - groupName: "napi", - matchPackageNames: ["napi", "napi-build", "napi-derive"], - }, - { - // We need to group all macOS/iOS binding-related packages together to avoid build errors caused by version incompatibilities. - groupName: "macOS/iOS bindings", - matchPackageNames: ["core-foundation", "security-framework", "security-framework-sys"], - }, - { - // We need to group all zbus-related packages together to avoid build errors caused by version incompatibilities. - groupName: "zbus", - matchPackageNames: ["zbus", "zbus_polkit"], - }, - { - matchPackageNames: [ - "base64-loader", - "buffer", - "bufferutil", - "core-js", - "css-loader", - "html-loader", - "mini-css-extract-plugin", - "postcss", - "postcss-loader", - "process", - "sass", - "sass-loader", - "style-loader", - "ts-loader", - "url", - "util", - ], + matchPackageNames: ["buffer", "bufferutil", "core-js", "process", "url", "util"], description: "Admin Console owned dependencies", commitMessagePrefix: "[deps] AC:", reviewers: ["team:team-admin-console-dev"], @@ -179,7 +96,7 @@ "lint-staged", "typescript-eslint", ], - groupName: "Linting minor-patch", + groupName: "Minor and patch linting updates", matchUpdateTypes: ["minor", "patch"], }, { @@ -236,6 +153,7 @@ "anyhow", "arboard", "babel-loader", + "base64-loader", "base64", "bindgen", "browserslist", @@ -243,6 +161,7 @@ "bytes", "core-foundation", "copy-webpack-plugin", + "css-loader", "dirs", "electron", "electron-builder", @@ -254,6 +173,7 @@ "futures", "hex", "homedir", + "html-loader", "html-webpack-injector", "html-webpack-plugin", "interprocess", @@ -262,6 +182,7 @@ "libc", "log", "lowdb", + "mini-css-extract-plugin", "napi", "napi-build", "napi-derive", @@ -272,15 +193,21 @@ "oslog", "pin-project", "pkg", + "postcss", + "postcss-loader", "rand", "rxjs", + "sass", + "sass-loader", "scopeguard", "security-framework", "security-framework-sys", "serde", "serde_json", "simplelog", + "style-loader", "sysinfo", + "ts-loader", "tsconfig-paths-webpack-plugin", "type-fest", "typenum", @@ -302,6 +229,52 @@ commitMessagePrefix: "[deps] Platform:", reviewers: ["team:team-platform-dev"], }, + { + // We need to group all napi-related packages together to avoid build errors caused by version incompatibilities. + groupName: "napi", + matchPackageNames: ["napi", "napi-build", "napi-derive"], + }, + { + // We need to group all macOS/iOS binding-related packages together to avoid build errors caused by version incompatibilities. + groupName: "macOS/iOS bindings", + matchPackageNames: ["core-foundation", "security-framework", "security-framework-sys"], + }, + { + // We need to group all zbus-related packages together to avoid build errors caused by version incompatibilities. + groupName: "zbus", + matchPackageNames: ["zbus", "zbus_polkit"], + }, + { + // We group all webpack build-related minor and patch updates together to reduce PR noise. + // We include patch updates here because we want PRs for webpack patch updates and it's in this group. + matchPackageNames: [ + "@babel/core", + "@babel/preset-env", + "babel-loader", + "base64-loader", + "browserslist", + "copy-webpack-plugin", + "css-loader", + "html-loader", + "html-webpack-injector", + "html-webpack-plugin", + "mini-css-extract-plugin", + "postcss-loader", + "postcss", + "sass-loader", + "sass", + "style-loader", + "ts-loader", + "tsconfig-paths-webpack-plugin", + "webpack-cli", + "webpack-dev-server", + "webpack-node-externals", + "webpack", + ], + description: "webpack-related build dependencies", + groupName: "Minor and patch webpack updates", + matchUpdateTypes: ["minor", "patch"], + }, { matchPackageNames: [ "@angular-devkit/build-angular", @@ -360,6 +333,11 @@ commitMessagePrefix: "[deps] SM:", reviewers: ["team:team-secrets-manager-dev"], }, + { + // We need to update several Jest-related packages together, for version compatibility. + groupName: "jest", + matchPackageNames: ["@types/jest", "jest", "ts-jest", "jest-preset-angular"], + }, { matchPackageNames: [ "@microsoft/signalr-protocol-msgpack", @@ -428,5 +406,5 @@ reviewers: ["team:team-key-management-dev"], }, ], - ignoreDeps: ["@types/koa-bodyparser", "bootstrap", "node-ipc", "node", "npm"], + ignoreDeps: ["@types/koa-bodyparser", "bootstrap", "node-ipc", "@bitwarden/sdk-internal"], }