-
-
Notifications
You must be signed in to change notification settings - Fork 8.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch to Renovate from Dependabot for remaining dependencies #9459
Conversation
schedule: | ||
interval: "daily" | ||
# Include only security updates and exclude version updates. | ||
open-pull-requests-limit: 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this ever worked, see https://github.com/jenkinsci/jenkins/pulls?q=sort%3Aupdated-desc+is%3Apr+is%3Aclosed+author%3Aapp%2Fdependabot+label%3Ainto-lts
so I haven't kept it for going forward
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this ever worked
Sad, given that it cost me so much to get that change accepted. I still think this is something that we want to automate, and we essentially do it manually for every LTS release, including recent ones.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Restored in 74eee38
had to debug a fair but and used:
RENOVATE_CONFIG_FILE=.github/renovate.json renovate --token=$GITHUB_TOKEN --schedule="" --require-config=ignored --dry-run=full timja-org/jenkins
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here are the LTS PRs that would be created: https://github.com/timja-org/jenkins/pulls?q=sort%3Aupdated-desc+is%3Apr+is%3Aopen+label%3Ainto-lts
(some remoting ones would disappear by backporting this PR to LTS)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The proposed list of updates seems very reasonable to me.
The args4j
2.37 release that is included in the list of proposed upgrades was released in March 2024. Good that renovate detected it. I've not done any investigation to see if the upgrade is safe, since it will need evaluation in remoting as well as Jenkins core.
Is this able to upgrade detached plugins like Dependabot? |
It's upgrading https://github.com/timja-org/jenkins/blob/b673f0d8108d2d03b5bb34d536060dc6741b107b/test/pom.xml#L353 Looking in to it Pom files found:
I checked all poms and only I see this setting in logs:
|
a486cbf
to
ddb1491
Compare
Yes, all working now that |
It is now trying to upgrade |
@viceice is it possible to stop it updating those two intentionally old deps? |
yes, with a package rule and an allowed version filter. you can also disable that package or require dashboard approval. |
Hmm we still want the regular dependency one to work, timja-org#6 Would that still work? I couldn't see a way to filter out a dependency from certain paths Dashboard approval could maybe work |
this can do it: |
no. you're missing an action. that rule matches the file and excludes that dep. but you don't say what renovate should do. so add |
Thanks that fixed one of them. Surprisingly it didn't close this one though: timja-org#9 (It wasn't picked up when the entire file was ignored before adjusting ignore patterns) Any idea? |
I'll try to have a look again tomorrow, currently on holiday 🙃 |
@viceice you have a chance to check it? |
not yet, sorry. feel free to open a support discussion on the renovate repo. maybe one of my co-maintainer will have more time to look at it. I'm back on track on Monday. |
Hey @viceice any thoughts? |
raised config help at renovatebot/renovate#30555 |
All working now, @basil / others any concerns? |
.github/renovate.json
Outdated
"matchFileNames": ["test/pom.xml", ".mvn/maven.config"], | ||
"matchPackageNames": ["org.jenkins-ci.main:remoting"], | ||
"enabled": false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this rule doesn't match pom.xml
, so renovate still suggests an update for org.jenkins-ci.main:remoting
inside the root pom.xml
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah there's one org.jenkins-ci.main:remoting
that we want updated, the remoting.version
one which is the latest version.
We don't want the 'old version for testing', and the 'minimum supported version' updated. Which is all working with this setup now by moving it to .mvn/maven.config
See my code comment for the solution |
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
I hit a bunch of weird behaviour when I added I've managed to fix almost everything although this rule isn't working right now: {
"matchPackageNames": ["net.jcip:jcip-annotations"],
"matchDatasources": ["maven"],
"enabled": false,
"description": "maven-metadata.xml is missing for this really old package which is required by renovate"
} its still complaining about not being able to resolve it and if I just drop it to master or stable branch only then its fine with that rule (not a blocker anyway it just fixes a warning). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR!
/label ready-for-merge This PR is now ready for merge, after ~24 hours, we will merge it if there's no negative feedback. Thanks! |
Please take a moment and address the merge conflicts of your pull request. Thanks! |
There is a problem visible in #9529: Renovate is trying to update the GitHub Action to the latest commit, not the latest tagged commit. We want the same behavior as Dependabot, where updates are only offered once a commit is tagged. |
There is a problem visible in https://github.com/jenkinsci/jenkins/pulls: Renovate is trying to backport all Java library updates, not just security updates. We want the same behavior we were trying to enable in Dependabot, where only security updates are backported. |
add a version tag comment, that is understood by dependabot and renovate. then they follow and update that tag. eg https://docs.renovatebot.com/modules/manager/github-actions/ |
@timja Can you try re-adding the security updates with |
@timja https://github.com/jenkinsci/jenkins-test-harness/releases/tag/2254.vcff7a_d4969e5 was released 7 hours ago, but Renovate does not seem to be offering it to Jenkins core, even after manually triggering Renovate. Dependabot is offering the update in other repositories, such as jenkinsci/plugin-pom#984. |
resolved
I'm trying to get it working, haven't managed yet though. |
See jenkins-infra/helpdesk#4173
We were already using renovate for JavaScript dependencies, this switches us to using it for the remaining ones.
Primary motivator is buggy handling of SNAPSHOTS in dependabot.
Testing done
Tested on my org fork (my personal fork was getting auth failures for some reason):
https://github.com/timja-org/jenkins/pulls?q=sort%3Aupdated-desc+is%3Apr+is%3Aopen
I downgraded remoting on my fork and verified it got upgraded correctly: timja-org#6
Full result of detected packages / package managers:
https://developer.mend.io/github/timja-org/jenkins
Proposed changelog entries
N/A
Proposed upgrade guidelines
N/A
Submitter checklist
Desired reviewers
N/A
Before the changes are marked as
ready-for-merge
:Maintainer checklist