From eb6f52fdbbcd8f6cb6b2f7359dc73d10bce04614 Mon Sep 17 00:00:00 2001 From: Hannah Wolfe Date: Tue, 24 Feb 2026 21:45:50 +0000 Subject: [PATCH 1/6] Enable full automerge and expand CSS preprocessor grouping --- quiet.json5 | 73 +++++++++++++++++++---------------------------------- 1 file changed, 26 insertions(+), 47 deletions(-) diff --git a/quiet.json5 b/quiet.json5 index 33b1546..9d95c5c 100644 --- a/quiet.json5 +++ b/quiet.json5 @@ -40,56 +40,16 @@ }, // Custom packages rules, which extend the configuration above "packageRules": [ - // Automerge all minor and patch updates to all dependencies - // UNLESS the version number is less than 1.0.0 in which case - // We can't be sure if the bump is effectively major - // Also don't automerge major updates (overridden for some dependencies below) - // @TODO review this one, simplify with testing and linting + // Automerge all dependency updates (major, minor, and patch) { - "matchCurrentVersion": ">= 1.0.0", "matchDepTypes": [ "devDependencies", "dependencies", - "optionalDependencies" + "optionalDependencies", + "peerDependencies" ], "automerge": true, - "automergeType": "pr", - "major": { - "automerge": false - } - }, - // Always automerge test and linting tools - // Regardless of whether they're major or minor updates - // @TODO: review this one, consider branch merges (no PRs) - { - "description": "Automerge test and linting tools", - "extends": [ - "packages:linters", - "packages:jsTest" - ], - "matchPackageNames": [ - "c8", - "eslint-plugin-ghost", - "grunt", - "nock", - "nodemon", - "rewire", - "supertest", - "tmp" - ], - "automerge": true - }, - // Don't automerge major bumps for @tryghost/ packages, gscan, or knex-migrator - // If you don't want renovate to automerge your changes, make them majors - { - "matchPackagePatterns": [ - "^@tryghost/.+", - "gscan", - "knex-migrator" - ], - "major": { - "automerge": false - } + "automergeType": "pr" }, // Group types packages together { @@ -125,16 +85,35 @@ // Don't wait for the release age to pass for trusted packages "minimumReleaseAge": "0 days" }, - // Group CSS preprocessors together + // Group CSS preprocessors and style pipeline packages together { "description": "Group CSS preprocessors", "matchPackagePatterns": [ "^postcss", - "^css" + "^css", + "^sass", + "^less", + "^styl" ], "matchPackageNames": [ "autoprefixer", - "ember-cli-postcss" + "cssnano", + "postcss", + "postcss-cli", + "postcss-import", + "postcss-custom-media", + "postcss-custom-properties", + "postcss-color-mod-function", + "postcss-easy-import", + "ember-cli-postcss", + "gulp-postcss", + "sass", + "node-sass", + "sass-embedded", + "less", + "stylus", + "stylelint", + "tailwindcss" ], "groupName": "CSS preprocessors" }, From 22c2d36f49d45e8e80336109e08251ceb9454014 Mon Sep 17 00:00:00 2001 From: Hannah Wolfe Date: Tue, 24 Feb 2026 21:48:30 +0000 Subject: [PATCH 2/6] Exclude CSS preprocessors from automerge --- quiet.json5 | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/quiet.json5 b/quiet.json5 index 9d95c5c..c73c658 100644 --- a/quiet.json5 +++ b/quiet.json5 @@ -51,6 +51,38 @@ "automerge": true, "automergeType": "pr" }, + // Keep CSS/style pipeline updates out of automerge for manual review + { + "description": "Do not automerge CSS preprocessors", + "matchPackagePatterns": [ + "^postcss", + "^css", + "^sass", + "^less", + "^styl" + ], + "matchPackageNames": [ + "autoprefixer", + "cssnano", + "postcss", + "postcss-cli", + "postcss-import", + "postcss-custom-media", + "postcss-custom-properties", + "postcss-color-mod-function", + "postcss-easy-import", + "ember-cli-postcss", + "gulp-postcss", + "sass", + "node-sass", + "sass-embedded", + "less", + "stylus", + "stylelint", + "tailwindcss" + ], + "automerge": false + }, // Group types packages together { "matchPackagePrefixes": [ From 98cc86415cfed4a6d883d212cbde498613700151 Mon Sep 17 00:00:00 2001 From: Hannah Wolfe Date: Wed, 25 Feb 2026 09:59:30 +0000 Subject: [PATCH 3/6] Revert expanded CSS grouping matchers --- quiet.json5 | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/quiet.json5 b/quiet.json5 index c73c658..13de6f6 100644 --- a/quiet.json5 +++ b/quiet.json5 @@ -117,35 +117,16 @@ // Don't wait for the release age to pass for trusted packages "minimumReleaseAge": "0 days" }, - // Group CSS preprocessors and style pipeline packages together + // Group CSS preprocessors together { "description": "Group CSS preprocessors", "matchPackagePatterns": [ "^postcss", - "^css", - "^sass", - "^less", - "^styl" + "^css" ], "matchPackageNames": [ "autoprefixer", - "cssnano", - "postcss", - "postcss-cli", - "postcss-import", - "postcss-custom-media", - "postcss-custom-properties", - "postcss-color-mod-function", - "postcss-easy-import", - "ember-cli-postcss", - "gulp-postcss", - "sass", - "node-sass", - "sass-embedded", - "less", - "stylus", - "stylelint", - "tailwindcss" + "ember-cli-postcss" ], "groupName": "CSS preprocessors" }, From db77348adeb47db298900c409c815dfdd54e331c Mon Sep 17 00:00:00 2001 From: Hannah Wolfe Date: Wed, 25 Feb 2026 10:01:03 +0000 Subject: [PATCH 4/6] Restore major-update guardrail for TryGhost packages --- quiet.json5 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/quiet.json5 b/quiet.json5 index 13de6f6..ef7ecc2 100644 --- a/quiet.json5 +++ b/quiet.json5 @@ -83,6 +83,17 @@ ], "automerge": false }, + // Don't automerge major bumps for @tryghost/ packages, gscan, or knex-migrator + { + "matchPackagePatterns": [ + "^@tryghost/.+", + "gscan", + "knex-migrator" + ], + "major": { + "automerge": false + } + }, // Group types packages together { "matchPackagePrefixes": [ From 63901660f99de33c5c700c9d153590f9b3481803 Mon Sep 17 00:00:00 2001 From: Hannah Wolfe Date: Wed, 25 Feb 2026 16:24:02 +0000 Subject: [PATCH 5/6] Migrate deprecated Renovate matcher keys The pending preset update introduced rules that used matchPackagePatterns, which Renovate now auto-migrates and warns about in logs. This switches those rules to matchPackageNames with equivalent regex/exact matching so behavior stays the same while removing migration noise. --- quiet.json5 | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/quiet.json5 b/quiet.json5 index ef7ecc2..0b4c3c7 100644 --- a/quiet.json5 +++ b/quiet.json5 @@ -54,14 +54,12 @@ // Keep CSS/style pipeline updates out of automerge for manual review { "description": "Do not automerge CSS preprocessors", - "matchPackagePatterns": [ - "^postcss", - "^css", - "^sass", - "^less", - "^styl" - ], "matchPackageNames": [ + "/^postcss/", + "/^css/", + "/^sass/", + "/^less/", + "/^styl/", "autoprefixer", "cssnano", "postcss", @@ -85,8 +83,8 @@ }, // Don't automerge major bumps for @tryghost/ packages, gscan, or knex-migrator { - "matchPackagePatterns": [ - "^@tryghost/.+", + "matchPackageNames": [ + "/^@tryghost/.+/", "gscan", "knex-migrator" ], From 81fb0925d46d4784e0d62409677ba3166fda4ac9 Mon Sep 17 00:00:00 2001 From: Hannah Wolfe Date: Sat, 7 Mar 2026 07:57:18 +0000 Subject: [PATCH 6/6] Add packageManager and action to automerge dep types Without these, pnpm/npm/yarn version updates (packageManager) and GitHub Actions updates (action) were excluded from automerge and required manual merging despite passing CI. --- quiet.json5 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/quiet.json5 b/quiet.json5 index 0b4c3c7..ee50520 100644 --- a/quiet.json5 +++ b/quiet.json5 @@ -46,7 +46,9 @@ "devDependencies", "dependencies", "optionalDependencies", - "peerDependencies" + "peerDependencies", + "packageManager", + "action" ], "automerge": true, "automergeType": "pr"