Propagate changes from main into development#986
Conversation
Integrate @axe-core/playwright for automated accessibility testing in CI
…nd add golangci-lint tracking
Weekly: Promote nightly to main (2026-04-27)
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
There was a problem hiding this comment.
Pull request overview
Automated maintenance PR that adjusts branch propagation behavior and extends Renovate configuration.
Changes:
- Disable downstream propagation from
developmenttofeature/*/hotfix/*branches in the propagation workflow. - Add a Renovate
customManagersregex entry intended to track thegolangci-lintversion used by the quality checks workflow.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| .github/workflows/propagate-changes.yml | Removes dev→feature/hotfix PR creation; leaves a log-only behavior on development runs. |
| .github/renovate.json | Adds a regex custom manager intended to update the golangci-lint version in quality-checks.yml. |
| } 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.'); | ||
| } |
There was a problem hiding this comment.
This workflow still runs on workflow_run events for the development branch, but with the downstream propagation logic removed it becomes a no-op run that only logs. If downstream propagation is intentionally disabled, consider removing development from the workflow_run.branches filter and/or the job-level if condition to avoid unnecessary workflow executions (and any associated permissions/secret exposure).
| "/^\\.github/workflows/quality-checks\\.yml$/" | ||
| ], | ||
| "matchStrings": [ | ||
| "# renovate: datasource=github-releases depName=golangci/golangci-lint\\n\\s+version: v(?<currentValue>[^\\s]+)" |
There was a problem hiding this comment.
This regex manager appears unlikely to match the current .github/workflows/quality-checks.yml: that workflow currently has version: latest for golangci-lint-action and does not include the # renovate: datasource=github-releases depName=golangci/golangci-lint marker comment. As a result, Renovate won’t track/update the golangci-lint version as intended; either update the workflow to pin version: vX.Y.Z with the marker, or adjust the regex to match the existing pattern you want Renovate to manage.
| "# renovate: datasource=github-releases depName=golangci/golangci-lint\\n\\s+version: v(?<currentValue>[^\\s]+)" | |
| "\\s+version:\\s+(?:latest|v(?<currentValue>[0-9]+\\.[0-9]+\\.[0-9]+))" |
| "depNameTemplate": "golangci/golangci-lint", | ||
| "datasourceTemplate": "github-releases", | ||
| "versioningTemplate": "semver", | ||
| "extractVersionTemplate": "^v(?<version>.*)" |
There was a problem hiding this comment.
extractVersionTemplate is missing an end-of-string anchor. Elsewhere in this file similar templates use ^v(?<version>.*)$ (e.g., Syft/Grype). Consider adding $ here as well to avoid accidental partial matches if the captured string ever contains trailing characters.
| "extractVersionTemplate": "^v(?<version>.*)" | |
| "extractVersionTemplate": "^v(?<version>.*)$" |
Automated PR to propagate changes from main into development.
Triggered by push to main.