Skip to content
Merged
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
20 changes: 20 additions & 0 deletions default.json
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,26 @@
"automergeType": "pr",
"automergeStrategy": "squash"
},
{
"description": "Charts published by the org (`oci://ghcr.io/ferrlabs/charts`) — same trust as the @ferrlabs/ npm packages and the `ferrlabs-*` crates above. Without this rule the third-party chart rule right above makes our own publications wait a day, so a chart released in the morning only reaches the cluster the next day (RoxyCloud 0.25.0 through 0.25.2 all queued for 24h). matchPackageNames targets the full OCI name: the flux manager resolves a HelmRelease backed by a `type: oci` HelmRepository to the docker datasource, where a plain HTTP repository would yield the chart name alone. Majors stay manual, the rule below turns their automerge off.",
"matchManagers": [
"flux",
"helmv3",
"helm-values"
],
"matchPackageNames": [
"ghcr.io/ferrlabs/charts/**"
],
Comment on lines +250 to +252

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: no matchUpdateTypes, so majors match this rule too and get pulled into the FerrLabs charts group. Grouping ignores the major/minor split (that is why group:allNonMajor exists), so a chart major landing in the group takes the whole branch with it: generateBranchConfig sets the branch automerge to false as soon as one upgrade in it has automerge: false, which the last rule does for majors. Net effect is the patch/minor bumps this PR is meant to fast-track stop auto-merging until someone deals with the major.

Restricting the rule keeps the major out: it then falls through to the global 1-day age with automerge: false from the last rule, i.e. an ungrouped manual PR, which is what "majors stay manual" reads as.

Suggested change
"matchPackageNames": [
"ghcr.io/ferrlabs/charts/**"
],
"matchPackageNames": [
"ghcr.io/ferrlabs/charts/**"
],
"matchUpdateTypes": [
"patch",
"minor"
],

Same shape as the existing @ferrlabs/ and ferrlabs-* rules, so if you would rather keep all four consistent, leaving it is defensible.

"schedule": [
"* * * * *"
],
"minimumReleaseAge": "0",
"internalChecksFilter": "none",
"automerge": true,
"automergeType": "pr",
"automergeStrategy": "squash",
"groupName": "FerrLabs charts"
},
{
"description": "Major updates — always manual",
"matchUpdateTypes": [
Expand Down
Loading