Skip to content

Commit 2eb5c28

Browse files
mschmickingclaude
andcommitted
ci(deps): stop dependabot proposing majors it cannot resolve
Three of the nine open dependency PRs failed for reasons in my own config rather than anything wrong with the dependency: - The dev-tooling group bundled majors, producing a PR that raised typescript 5 -> 7 while leaving typescript-eslint at 8, which does not support it. npm could not resolve it, so the PR was red by construction. The group is now minor and patch only. - @eslint/js 10 requires eslint 10, so proposing it on its own can never install. Majors of eslint, @eslint/js and typescript are now ignored: they are migrations, and TypeScript 7 is a different compiler. - The PR title check required a lower-case subject, which failed 'ci(deps): Bump gitleaks-action from 2 to 3'. Dependabot capitalises some titles and not others, so the rule rejected dependency PRs for a reason no human chose. Only a trailing full stop is rejected now. Majors of commander and diff join ws and chokidar in the ignore list. All four reach a user's machine and can change behaviour against a live instance, so they should be a deliberate decision rather than a routine PR. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 24d8ad9 commit 2eb5c28

2 files changed

Lines changed: 28 additions & 6 deletions

File tree

.github/dependabot.yml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ updates:
1616
# and a bump is never interesting on its own.
1717
dev-tooling:
1818
dependency-type: development
19+
# Minor and patch only. Grouped majors produced an internally inconsistent
20+
# PR — typescript 5 -> 7 alongside typescript-eslint 8, which does not
21+
# support it — that could never install, let alone pass.
22+
update-types:
23+
- minor
24+
- patch
1925
patterns:
2026
- '@typescript-eslint/*'
2127
- 'typescript-eslint'
@@ -24,12 +30,25 @@ updates:
2430
- 'typescript'
2531
- '@types/*'
2632
ignore:
27-
# Majors reach a user's machine and can change runtime behaviour against a
28-
# live instance; review those deliberately rather than as a routine PR.
33+
# Every runtime dependency: a major reaches a user's machine and can change
34+
# behaviour against a live instance, so it deserves a deliberate look rather
35+
# than a routine PR that sits there red.
2936
- dependency-name: 'ws'
3037
update-types: ['version-update:semver-major']
3138
- dependency-name: 'chokidar'
3239
update-types: ['version-update:semver-major']
40+
- dependency-name: 'commander'
41+
update-types: ['version-update:semver-major']
42+
- dependency-name: 'diff'
43+
update-types: ['version-update:semver-major']
44+
# Toolchain majors are migrations, not bumps. TypeScript 7 in particular is a
45+
# different compiler; typescript-eslint has to support it first.
46+
- dependency-name: 'typescript'
47+
update-types: ['version-update:semver-major']
48+
- dependency-name: 'eslint'
49+
update-types: ['version-update:semver-major']
50+
- dependency-name: '@eslint/js'
51+
update-types: ['version-update:semver-major']
3352

3453
- package-ecosystem: github-actions
3554
directory: /

.github/workflows/pr-title.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,11 @@ jobs:
4242
deps
4343
docs
4444
requireScope: false
45-
# Subject should read like a sentence fragment, lower-case, no full stop.
46-
subjectPattern: ^(?![A-Z])(?!.*\.$).+$
45+
# Only the trailing full stop is rejected. A lower-case rule was tried and
46+
# removed: Dependabot capitalises some of its titles ("Bump x from 1 to 2")
47+
# and not others, so it failed dependency PRs for a reason unrelated to
48+
# anything a human chose.
49+
subjectPattern: ^(?!.*\.$).+$
4750
subjectPatternError: |
48-
The subject "{subject}" is invalid: start lower-case and omit the trailing
49-
full stop, e.g. "feat(logs): stream the server log".
51+
The subject "{subject}" must not end with a full stop, e.g.
52+
"feat(logs): stream the server log".

0 commit comments

Comments
 (0)