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
25 changes: 16 additions & 9 deletions .github/renovate.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
"helpers:pinGitHubActionDigests"
],
"baseBranchPatterns": [
"feature/beta-release",
"development"
Copy link

Copilot AI Apr 27, 2026

Choose a reason for hiding this comment

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

With baseBranchPatterns now limited to development, Renovate will no longer create PRs targeting other long-lived branches such as feature/beta-release (which is referenced in multiple repo docs/scripts as an active branch). If Renovate updates are still expected on that branch, add it back (or use a broader pattern such as feature/** for the specific branches you want Renovate to maintain).

Suggested change
"development"
"development",
"feature/beta-release"

Copilot uses AI. Check for mistakes.
],
"postUpdateOptions": ["npmDedupe"],
Expand All @@ -24,6 +23,7 @@
".docker/**"
],

"minimumReleaseAge": null,
"rebaseWhen": "auto",

"vulnerabilityAlerts": {
Expand Down Expand Up @@ -242,6 +242,20 @@
"depNameTemplate": "golang/go",
"datasourceTemplate": "golang-version",
"versioningTemplate": "semver"
},
{
"customType": "regex",
"description": "Track golangci-lint version in quality checks workflow",
"managerFilePatterns": [
"/^\\.github/workflows/quality-checks\\.yml$/"
],
"matchStrings": [
"# renovate: datasource=github-releases depName=golangci/golangci-lint\\n\\s+version: v(?<currentValue>[^\\s]+)"
],
"depNameTemplate": "golangci/golangci-lint",
"datasourceTemplate": "github-releases",
"versioningTemplate": "semver",
"extractVersionTemplate": "^v(?<version>.*)"
Comment on lines +245 to +258
Copy link

Copilot AI Apr 27, 2026

Choose a reason for hiding this comment

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

This new regex manager is unlikely to match the current .github/workflows/quality-checks.yml: that workflow sets with: version: latest for golangci-lint-action and does not include the expected # renovate: ... depName=golangci/golangci-lint comment or a pinned version: vX.Y.Z line. As-is, Renovate will not be able to extract/update the golangci-lint version from that workflow. Either adjust matchStrings to the actual pattern you want to manage, or (preferably) pin the golangci-lint tool version in the workflow and add the matching renovate comment so Renovate can track it deterministically.

Suggested change
},
{
"customType": "regex",
"description": "Track golangci-lint version in quality checks workflow",
"managerFilePatterns": [
"/^\\.github/workflows/quality-checks\\.yml$/"
],
"matchStrings": [
"# renovate: datasource=github-releases depName=golangci/golangci-lint\\n\\s+version: v(?<currentValue>[^\\s]+)"
],
"depNameTemplate": "golangci/golangci-lint",
"datasourceTemplate": "github-releases",
"versioningTemplate": "semver",
"extractVersionTemplate": "^v(?<version>.*)"

Copilot uses AI. Check for mistakes.
}
],

Expand All @@ -264,19 +278,12 @@
"matchPackageNames": [
"*"
]
},
{
"description": "Feature branches: Auto-merge non-major updates after proven stable",
"matchBaseBranches": ["feature/**"],
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],
"automerge": false
},
{
"description": "Development branch: Auto-merge non-major updates after proven stable",
"matchBaseBranches": ["development"],
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],
"automerge": false,
"minimumReleaseAge": "14 days"
"automerge": false
},
{
"description": "Preserve your custom Caddy patch labels but allow them to group into a single PR",
Expand Down
24 changes: 1 addition & 23 deletions .github/workflows/propagate-changes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -183,27 +183,5 @@ jobs:
core.info('Push originated from development (excluded). Skipping propagation back to development.');
}
} else if (currentBranch === 'development') {
// Development -> Feature/Hotfix branches (The Pittsburgh Model)
// We propagate changes from dev DOWN to features/hotfixes so they stay up to date.

const branches = await github.paginate(github.rest.repos.listBranches, {
owner: context.repo.owner,
repo: context.repo.repo,
});

// Filter for feature/* and hotfix/* branches using regex
// AND exclude the branch that just got merged in (if any)
const targetBranches = branches
.map(b => b.name)
.filter(name => {
const isTargetType = /^feature\/|^hotfix\//.test(name);
const isExcluded = (name === excludedBranch);
return isTargetType && !isExcluded;
});

core.info(`Found ${targetBranches.length} target branches (excluding '${excludedBranch || 'none'}'): ${targetBranches.join(', ')}`);

for (const targetBranch of targetBranches) {
await createPR('development', targetBranch);
}
core.info('Push to development detected. No downstream propagation configured.');
}
Comment on lines 185 to 187
Copy link

Copilot AI Apr 27, 2026

Choose a reason for hiding this comment

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

This branch handler used to open propagation PRs from development into feature/* and hotfix/*, but now it only logs and does nothing. This is a functional behavior change beyond "main -> development" propagation; if downstream branches still rely on staying current via this workflow, that automation is now disabled. Consider either restoring the previous downstream propagation logic, or updating the PR description/name (and/or adding a comment here) to explicitly document that downstream propagation is intentionally removed.

Copilot uses AI. Check for mistakes.
Loading