Skip to content

WIP ci: Add renovate configuration#5

Closed
0xFelix wants to merge 1 commit into
kubevirt:mainfrom
0xFelix:add-renovate
Closed

WIP ci: Add renovate configuration#5
0xFelix wants to merge 1 commit into
kubevirt:mainfrom
0xFelix:add-renovate

Conversation

@0xFelix

@0xFelix 0xFelix commented Oct 15, 2025

Copy link
Copy Markdown
Member

What this PR does / why we need it:

Add renovate configuration to automatically update dependencies.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

Special notes for your reviewer:

Release note:

None

Signed-off-by: Felix Matouschek <fmatouschek@redhat.com>
@kubevirt-bot

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@kubevirt-bot kubevirt-bot added release-note-none Denotes a PR that doesn't merit a release note. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. labels Oct 15, 2025
@kubevirt-bot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign lyarwood for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Comment thread renovate.json
"groupName": "Go dependencies"
}
],
"constraints": {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The constraint is not required, because renovate tries to stay with the currently used golang version. This rule is only overwritten by security updates.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

On my fork it tried to bump the golang version anyway, see 0xFelix/virt-template#17. I suspect this is not working?

Comment thread renovate.json
},
"postUpdateOptions": [
"gomodTidy",
"gomodUpdateImportPaths"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

According to my limited understanding of golang, the gomodUpdateImportPaths is only required on major updates, which is disabled in renovate by default.

Comment thread renovate.json
"gomodUpdateImportPaths"
],
"ignorePaths": [
"**/vendor/**"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I think this is already included in ":gitSignOff"

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Comment thread renovate.json
"require",
"indirect"
],
"groupName": "Go dependencies"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

According to my experience, before grouping the indirect updates, they have to be enabled by

    {
      "matchManagers": ["gomod"],
      "matchDepTypes": ["indirect"],
      "enabled": true
    },

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Seems to work without enabling them a second time, see on my fork 0xFelix/virt-template#17

Comment thread renovate.json
"packageRules": [
{
"matchManagers": [
"gomod"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

this rule is redundant, because gomod is the only enabled manager

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

During test runs on my fork it also picked up other managers, e.g. for the Dockerfiles. Maybe that's related to the global configuration of renovate, i.e. it depends on the global config which managers are enabled by default?

Comment thread renovate.json
],
"baseBranchPatterns": [
"main",
"/^release-v([0-9]+\\.([0-9]+))$/"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

the release branches should get only security updates. Would be interesting to learn how to express this.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Good point

Comment thread renovate.json
@@ -0,0 +1,48 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You can add "assigneesFromCodeOwners": true

@kubevirt-bot

Copy link
Copy Markdown
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@kubevirt-bot kubevirt-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 22, 2026
@0xFelix

0xFelix commented Jan 29, 2026

Copy link
Copy Markdown
Member Author

/remove-lifecycle stale

@kubevirt-bot kubevirt-bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 29, 2026
@kubevirt-bot

Copy link
Copy Markdown
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@kubevirt-bot kubevirt-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 29, 2026
@0xFelix

0xFelix commented Apr 30, 2026

Copy link
Copy Markdown
Member Author

/remove-lifecycle stale

@dominikholler Are you still working on this?

@kubevirt-bot kubevirt-bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 30, 2026
@dominikholler

Copy link
Copy Markdown

https://github.com/dominikholler/kubevirt-renovate/blob/9c1572510a92c55c152ad73c582cfd16a3f040d5/virt-template-renovate.json was used to generate #88 .

An external bot like redhat-renovate-bot or the Renovate GitHub App are not suitable, because this repo requires calling custom actions in addition to the golang updates.

I did not found an order of custom actions so that a single call of make vendor worked, seems like it is required to call it twice, one time before and one time after make generate.

For now, there are multiple packages excluded to avoid an update of the golang version, or to avoid applciation code changes. Probably these packages could be updated, if the project would be updated to the new kubernetes and golang version manually.

@kubevirt-bot

Copy link
Copy Markdown
Contributor

There has been no activity on this PR for 45 days.
To protect limited CI resources, it has been automatically labelled 'stale'.
This PR will automatically rot after an additional 14 days of inactivity, and will be closed shortly after that.

What you can do:

  • If the PR is waiting on you to respond to a question or feedback and/or update the PR, please do so.
  • You can mark the PR as fresh and remove the label with the following command: /remove-lifecycle stale
  • If this PR is safe to close now, please help the project by closing it with: /close
  • If you need attention on this PR from a reviewer, you can raise it on the agenda of the relevant SIG meeting or KubeVirt Community meeting, or ping the kubevirt-dev slack channel.

/lifecycle stale

@kubevirt-prow kubevirt-prow Bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 27, 2026
@0xFelix

0xFelix commented Jun 30, 2026

Copy link
Copy Markdown
Member Author

/close Superseded by #103

@0xFelix 0xFelix closed this Jun 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dco-signoff: yes Indicates the PR's author has DCO signed all their commits. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. release-note-none Denotes a PR that doesn't merit a release note. size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants