OCPNETUI-65: Add multi-branch dependabot config - #487
Conversation
For main branch:
1. in npm package system aggregate all updates in one PR (per branch).
Include only minor and patch updates (both version and security).
2. in github actions package system aggregate all updates in one PR.
Include all version updates (including major). Only main branch is
supported as older branches have no github actions.
3. ignore shared modules provided (currently) by Console. Unused modules
are ignored.
For release branches:
1. update not only patch but also minor versions - reasoning is that:
a) usually the latest minor version is the only version
that receives security updates
b) minor version should not contain breaking changes
2. ignore list is limited to dynamic SDK packages which is only a subset
of all shared modules. The remaining packages follow the regular
dependency update process - reasoning is that:
a) production code is unchanged and minor and patch versions should
be backwards compatible
b) the Console is updating their deps in parallel so an up-to-date
cluster may be close to our versions
c) shorter ignore list is more readable - note that dependabot
does not support yml aliases (yet)
d) the shared modules list changed in time and would require
different ignore lists per branch
Note:
1. dependabot provides security updates only on default branch, however
patch updates should address most of the security issues.
2. dependency-type "all" covers also transitive dependencies although
the docs do not list npm as supported package manager
3. updates for release branches use custom commit message prefix
Reference-Url: https://github.com/openshift/console/blob/c46e0aabe4c9cf330f1e56ad323076e7e8e7f7d8/frontend/packages/console-dynamic-plugin-sdk/src/shared-modules/shared-modules-meta.ts#L41
Reference-Url: dependabot/dependabot-core#1582
Signed-off-by: Radoslaw Szwajkowski <rszwajko@redhat.com>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@rszwajko: This pull request references OCPNETUI-65 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the sub-task to target the "5.1.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. WalkthroughAdded Dependabot configuration for monthly GitHub Actions updates and weekly npm updates on the main and release branches. The configuration defines cooldowns, update limits, dependency exclusions, grouping, and branch-specific commit prefixes. ChangesDependabot policies
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This adds scheduled, grouped Dependabot policies for main and supported release branches. No current merge-blocking risk is identified. 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: rszwajko The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@pcbailey @sjd78 @ronlavi2412 @avivtur @lkladnit |
| target-branch: release-4.23 | ||
| directory: / | ||
| commit-message: | ||
| prefix: 'chores(4.23)' |
There was a problem hiding this comment.
Why would use 'chores' as the prefix? Our prefix convention for release branch PRs is [release-<version>].
There was a problem hiding this comment.
The default format used by dependabot for the commit message (which is re-used for PR title) is chores($depType). This is what you see for the main branch. Since we will get 1 PR per branch I wanted to distinguish the release branches somehow. That was the second attempt - check closed PRs on my fork for other attempts i.e. [4.18] Bump ...
Technically we can use any prefix we want so i.e. [release-4.18 is possible. I guess for the main branch we could use empty prefix (needs to be tested). However having different prefix for bot commits has some value for me.
As for other tested possibilities - you can add a custom label so we could create label-per-release branch.
There was a problem hiding this comment.
@pcbailey
looking at the commit history the convention with prefix [release-X.Y] applies to cherry-picks only.
However if you feel strong about this let me know. Also then propose the convention for PRs on main branch.
There was a problem hiding this comment.
I've been using the [release-X.Y] for any PRs targeted towards older branches, although backports are definitely the most common. I'm ok with combining that with a string that differentiates it if that works for your use case. Something like [release-X.Y]-maintenance?
Signed-off-by: Radoslaw Szwajkowski <rszwajko@redhat.com>
|
/test all |
|
@rszwajko: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
For main branch:
For release branches:
Note:
Reference-Url: https://github.com/openshift/console/blob/c46e0aabe4c9cf330f1e56ad323076e7e8e7f7d8/frontend/packages/console-dynamic-plugin-sdk/src/shared-modules/shared-modules-meta.ts#L41
Reference-Url: dependabot/dependabot-core#1582
Summary by CodeRabbit