Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ updates:
open-pull-requests-limit: 5
commit-message:
# A shipped dependency moving is a change in the packages, so .releaserc.json lets
# `build(deps)` publish a patch -- except for the `test-tooling` group below, which it
# recognises by that name in the subject ("Bump the test-tooling group ..."). 1.3.0 carried
# `build(deps)` publish a patch -- except for the `test-tooling` and `repo-tooling` groups
# below, which it recognises by name in the subject ("Bump the test-tooling group ..."). 1.3.0 carried
# coverlet and Polyfill bumps as release entries for want of this split (#257). Rename the
# group and the rule in .releaserc.json has to follow; eng/verify-release-config.mjs
# checks the rule against a subject of this shape.
Expand Down Expand Up @@ -42,6 +42,20 @@ updates:
- "AwesomeAssertions"
- "Polyfill"
- "PublicApiGenerator"
# The other entries of .config/dotnet-tools.json: GitVersion computes the version and
# DefaultDocumentation renders the API reference, neither is part of a package. Ungrouped,
# a bump of either (#283) carried the plain `build(deps)` subject and would have released a
# patch of nine unchanged packages. .releaserc.json recognises this group by name as it
# does `test-tooling`; rename it and that rule has to follow (#328).
repo-tooling:
patterns:
- "gitversion.tool"
- "defaultdocumentation.console"
repo-tooling-security:
applies-to: security-updates
patterns:
- "gitversion.tool"
- "defaultdocumentation.console"
ignore:
# CanKit is the upstream this product is built on; moving to a new version is a decision
# about compatibility and testing, made by bumping CanKitVersion in eng/Dependencies.props.
Expand Down
2 changes: 1 addition & 1 deletion .releaserc.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
{ "type": "fix", "release": "patch" },
{ "type": "perf", "release": "patch" },
{ "type": "revert", "release": "patch" },
{ "type": "build", "scope": "deps", "subject": "!(*test-tooling*)", "release": "patch" },
{ "type": "build", "scope": "deps", "subject": "!(*test-tooling*|*repo-tooling*)", "release": "patch" },
Comment thread
dborgards marked this conversation as resolved.
{ "type": "docs", "release": false },
{ "type": "test", "release": false },
{ "type": "chore", "release": false },
Expand Down
7 changes: 5 additions & 2 deletions eng/verify-release-config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,9 @@ if (!Array.isArray(config.branches) || config.branches.length === 0) {
}

// What a Dependabot commit publishes (#257). A shipped dependency moving is a patch; the
// `test-tooling` group (.github/dependabot.yml) tests nothing that ships, so it publishes nothing
// -- the rule tells them apart by the group's name in the subject. Run through the analyser
// `test-tooling` group (.github/dependabot.yml) tests nothing that ships, and the `repo-tooling`
// group builds and documents without shipping either, so neither publishes anything -- the rule
// tells them apart by the group's name in the subject. Run through the analyser
// itself, with the configured rules, because the matching is not obvious: a later `release: false`
// rule beats an earlier match, a glob negation lives in the subject, and a typo in either passes
// every resolvability check above while releasing nine packages for a coverlet bump.
Expand All @@ -68,6 +69,8 @@ if (analyzerOptions) {
await expectRelease('build(deps): Bump the test-tooling group with 1 update', null);
await expectRelease('build(deps): Bump the test-tooling group across 1 directory with 2 updates', null);
await expectRelease('build(deps): Bump the test-tooling-security group with 1 update', null);
await expectRelease('build(deps): Bump the repo-tooling group with 1 update', null);
await expectRelease('build(deps): Bump the repo-tooling-security group with 1 update', null);
await expectRelease('build(deps): Bump EdsDcfNet from 1.14.0 to 1.15.0', 'patch');
await expectRelease('chore(deps): Bump the semantic-release group with 3 updates', null);
}
Expand Down
Loading