-
Notifications
You must be signed in to change notification settings - Fork 22
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
Add the include-all-prereleases
input
#127
Conversation
describe('include-prereleases', () => { | ||
it('Chooses the highest available version that matches the input including prereleases', () => { | ||
expect(installer.getJuliaVersion(testVersions, '^1.2.0-0', true)).toEqual('1.3.0-rc4') | ||
expect(installer.getJuliaVersion(testVersions, '1', true)).toEqual('1.3.0-rc4') | ||
expect(installer.getJuliaVersion(testVersions, '^1.2.0-0', false)).toEqual('1.2.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 would recommend starting here for the review.
cc @EwoutH |
Can you explain why this is necessary? What's the use case here? |
More specifically, when would you want to use this option but not want to just use either |
Are there many use cases for it? Not entirely convinced. It can save some time manually upgrading workflows I guess, it's a fairly straightforward change that doesn't introduce much complexity, and it's been requested by someone. |
I'm still not following why this is actually a useful thing to do. |
@EwoutH Could you elaborate on what your specific use case is here? What is the situation in which you want 1.8.0-rc1 or 1.9.0-rc1 but you don't want 1.9.0 if it's available? |
I think I didn't describe it well: without this and a version 1.8.0-0, it would match the following versions once they are released: 1.8.0-rc1, 1.8.0, 1.9.0. With this flag, it would be 1.8.0-rc1, 1.8.0, 1.9.0-rc1, 1.9.0. |
Ohhhh now I get it. I actually thought that |
I don't know if |
I think it would be good to include this exact example in the docs. This example is what made it "click" for me. |
Yes, that's correct. Despite that it's also what node-semver uses. Do you have a suggestion?
Same. |
Hmmm. Maybe |
My main use case is to have an early warning system in CI runs. So one job that always uses the latest Julia pre-release version, but is allowed to fail. So it can catch deprecations and warnings in Julia alpha, beta and rc versions. |
Hm, those made me think the opposite of that is "sometimes" or "never" allowing prereleases, which isn't quite accurate. |
Yeah |
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 think this is good to go after renaming the input to include-all-prereleases
?
I have one other suggestion, maybe we can create levels of pre-releases. For example:
|
That would require us to handle the version resolution ourselves rather than passing it to node's semver library which would introduce too much complexity to the action for (imo) little gain. |
b9dcafa
to
130078b
Compare
include-all-prereleases
input
Awesome, thanks! |
Tagged a release, should be available now :) |
fixes #126