-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
feat(versioning): add devbox versioning module #31408
base: main
Are you sure you want to change the base?
Conversation
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.
So 1
and 1.2
are versions and not constraints?
If there are no constraints then isVersion()
and isValid()
should return same results for same inputs?
Yes isValid and isVersion return the same results for the same inputs, would you like me to update the tests to include all the same inputs? Devbox is fairly strict with it's versioning where it only supports "latest", "1", "1.2" and "1.2.3" formatted values, no ranges or constraints are allowed. I have made it so that "latest" does not show up as a valid version because I don't want renovate to modify that value. Should it still be valid though? |
I think it's a good idea. I would also like to see a test to make sure that
Ideally Renovate recognizes it as valid but never tries to update it. Are there lock files involved in devbox? |
Ok I'll add some additional tests then. Yeah devbox does have a lock file, so those "latest" dependencies will be updated when renovate runs devbox install, but I think that's expected behaviour. I'll add "latest" as a valid version. |
@rarkins So looking at updating the compare function now, when you said 1 and 1.2 are constraints did you mean that if 1 is set it should always find the largest version of 1 e.g. 1.2.3 and if it isn't a constraint then it should match only 1.0.0? Does that mean that |
If To use another angle, if your current value is |
Yeah ok I think I understand now, if the value is |
I have updated that now, let me know if the changes I have made are correct |
5a460d9
to
f11569c
Compare
In that case it sounds like you consider In case I have still managed to confused you, can you point me to an example package/datasource for devbox? I'd like to see if it returns results like |
Sure an example devbox.json is something like this https://github.com/jetify-com/devbox/blob/main/examples/development/nodejs/nodejs-typescript/devbox.json |
Changes
This PR adds devbox versioning, https://www.jetify.com/devbox. Devbox is a local development tool which creates local reproducible environments without docker containers.
Context
This PR is related to #30002
where I was asked to split that PR into one for the versioning, datasource and manager.
I am making these changes on behalf of Culture Amp as we are using renovate internally and have recently migrated to using devbox for our local developer environments.
This PR will ensure that all of our devbox.json files stay up to date with the rest of our repos.
#27543
Documentation (please check one with an [x])
How I've tested my work (please select one)
I have verified these changes via: