diff --git a/release-please-config.json b/release-please-config.json index 5739d7f..72e1b48 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -10,7 +10,10 @@ "package-name": "falco", "changelog-path": "CHANGELOG.md", "extra-files": [ - { "type": "generic", "path": "build.gradle.kts" } + { "type": "generic", "path": "build.gradle.kts" }, + { "type": "generic", "path": "README.md" }, + { "type": "generic", "path": "docs/how-to/add-falco-to-your-build.md" }, + { "type": "generic", "path": "docs/reference/modules-and-coordinates.md" } ] } } diff --git a/renovate.json b/renovate.json index 63daf33..d647c26 100644 --- a/renovate.json +++ b/renovate.json @@ -7,7 +7,8 @@ "description": [ "The argument to the :default preset becomes :reviewer(arg0). It carries the `team:` prefix and the bare slug, without the organisation: Renovate splits reviewers on that prefix and posts the remainder as a team reviewer, so `OneLiteFeatherNET/falco-maintainers` would be sent as a user name and rejected. The team holds admin on this repository and is the same owner .github/CODEOWNERS names.", "The :minestom flavor only fixes version ordering for a pinned `net.minestom:minestom`. Falco resolves Minestom through mycelium-bom and pins no version of its own today, so the flavor is inert here and kept for the moment a version does get pinned.", - "The last packageRule of the :default preset, \"Security fixes bypass the schedule, the cooldown period and any grouping\", puts `isVulnerabilityAlert: true` where a matcher belongs. That key is an option, not a matcher, so the rule applies to every maven, github-tags and gradle-version update: each one is handled as a vulnerability fix (`vulnerabilityFixStrategy=lowest` proposes only the next version, hence step-by-step PRs), loses its group and its cooldown period, ignores `schedule:officeHours` and gets the `security` label. The packageRules below, which Renovate applies after the preset's, take that back: the first one resets the options the preset rule overwrote, the following ones repeat the preset rules that set a group, a cooldown period or a schedule, in their original order. Real vulnerability alerts keep their exemptions through the top-level `vulnerabilityAlerts` block. All of this can go once the preset gives that rule a real matcher. The `security` label cannot be taken back from here, because `addLabels` only ever accumulates." + "The last packageRule of the :default preset, \"Security fixes bypass the schedule, the cooldown period and any grouping\", puts `isVulnerabilityAlert: true` where a matcher belongs. That key is an option, not a matcher, so the rule applies to every maven, github-tags and gradle-version update: each one is handled as a vulnerability fix (`vulnerabilityFixStrategy=lowest` proposes only the next version, hence step-by-step PRs), loses its group and its cooldown period, ignores `schedule:officeHours` and gets the `security` label. The packageRules below, which Renovate applies after the preset's, take that back: the first one resets the options the preset rule overwrote, the following ones repeat the preset rules that set a group, a cooldown period or a schedule, in their original order. Real vulnerability alerts keep their exemptions through the top-level `vulnerabilityAlerts` block. All of this can go once the preset gives that rule a real matcher. The `security` label cannot be taken back from here, because `addLabels` only ever accumulates.", + "Falco's own version in README.md and docs/ is raised twice over: Release Please rewrites the snippets carrying an `x-release-please` marker in the release pull request (extra-files in release-please-config.json), and the regex customManager below picks up the ones without a marker, so a missed marker costs one Renovate pull request and not a stale install snippet." ], "vulnerabilityAlerts": { "groupName": null, @@ -105,13 +106,16 @@ "customManagers": [ { "customType": "regex", - "description": "Keep the coordinates in the README install snippets on the released version. One rule for all four published modules: the module name is captured rather than templated, so a module is covered the moment a snippet mentions it. `falco-benchmarks` and `falco-demo` are deliberately not listed because they are never published. A consumer declares the BOM inside a `platform(\"…\")` call rather than a bare `implementation(\"…\")` one, so the match string covers both call forms; `falco-bom` and `falco-instance` are listed even though the README currently mentions neither — the quick start declares only `falco-anvil` and `falco-light`, and the full set moved to the Installation page of the wiki, which Renovate cannot reach. That page says so and points at the README as the authority on the current version. Keeping both names here costs nothing and covers the moment either returns to a README snippet; the BOM will also still be in its three-argument form, which this pattern does not match, until it has a first release.", + "description": "Keep the coordinates in the install snippets of the README and of docs/ on the released version. One rule for all five published artifacts: the artifact name is captured rather than templated, so a module is covered the moment a snippet mentions it. `falco-benchmarks` and `falco-demo` are deliberately not listed because they are never published. A consumer declares the BOM inside a `platform(\"…\")` call rather than a bare `implementation(\"…\")` one, so the first match string covers both call forms; the second one covers a Maven `` or `` entry, and `depNameTemplate` joins the two captured halves into the one dependency name both forms share. Release Please raises the marked snippets in the release pull request (see release-please-config.json); this rule catches the ones without a marker, such as a snippet that also names Minestom, whose version a marker would rewrite as well.", "managerFilePatterns": [ - "/^README\\.md$/" + "/^README\\.md$/", + "/^docs/.+\\.md$/" ], "matchStrings": [ - "(?:implementation|platform)\\(\"(?net\\.onelitefeather:falco-(?:anvil|instance|light|bom)):(?[^\"]+)\"\\)" + "(?:implementation|platform)\\(\"(?net\\.onelitefeather):(?falco-(?:anvil|instance|light|bom|migration)):(?[^\"]+)\"\\)", + "(?net\\.onelitefeather)\\s*(?falco-(?:anvil|instance|light|bom|migration))\\s*(?[^<]+)" ], + "depNameTemplate": "{{{groupId}}}:{{{artifactId}}}", "datasourceTemplate": "maven", "registryUrlTemplate": "https://repo.onelitefeather.dev/releases" }