-
Notifications
You must be signed in to change notification settings - Fork 71
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 'conda-remove-defaults' setting and support 'nodefaults' as a keyword channel #367
Conversation
Errors in the mamba examples are unrelated and caused by the mamba 2.0 release not having |
Thanks Jaime! 🙏 Am actually wondering whether we need a setting for this or if we should just treat an explicit channel as just that what a user intended Think it is easier and clearer for users to add |
Yes, in the long term, that's where I want to get at. My current concern if that if we change that behaviour overnight without warning first, then we might break a few CI pipelines that were inadvertently relying on defaults as a channel (because strict priority is not default either). After all this action is relied on by... 16k+ workflows. Of those, ~6k set |
Fix for example 6 available at #368. Once that's merged we can continue here. |
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'd suggest to be.. more explicit with the option name, since all it does right now is removing "defaults", nothing else. Also prefix the option with conda
since this only applies to conda, not mamba.
Co-authored-by: Jannis Leidel <jannis@leidel.info>
Co-authored-by: liamhuber <liamhuber @users.noreply.github.com>
fail-fast: false | ||
matrix: | ||
os: ["ubuntu-latest", "macos-latest", "windows-latest"] | ||
conda-remove-defaults: ["true", "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.
How about something like
conda-remove-defaults: ["true", "false"] | |
explicitly-listed-channels-only: ["true", "false"] |
Admittedly verby, but I think we can write this in a way that gets closer to the long-term intended behavior
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.
See #367 (review). I don't particularly care about the name itself, given it'll be probably be obsolete by March next year.
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 the long-term future for this feature is only to migrate conda users to the same pattern as mamba and pixi follow, setting a default channel in the distribution/bootstrapper layer and not hard-coding it in the codebase. That's why I think the name of the parameter for setup-miniconda is okay to focus on conda only, and not required to be named generically.
AIUI the path proposed here is...
It is certainly a valid way to do it. Am just concerned by the length of time that will take and the effort it puts us and users. Can we cutdown this process a bit? Admittedly there is the other extreme, change behavior in a major version with documentation. This is not an unheard of approach. Though we need not do that either Think there is a reasonable middle path. We already are deprecating If not that, can we thin this process a bit? How can we get this to no more than one deprecation cycle? |
In a way we are tied to the conda deprecation cycle, where this behavior won't be default til March 2025. We might need to keep the flag around for users of older versions.
This looks reasonable to me, but the major version bump should happen in March to align with conda. Is that too long? |
This should be ready now: |
I strongly disagree that |
Yea, I don't like it either, but there are ~200 workflows out there using it. We need to warn them about the new option, enable the behavior, and then turn it into an error. It's not even documented in the README, while |
fail-fast: false | ||
matrix: | ||
os: ["ubuntu-latest", "macos-latest", "windows-latest"] | ||
conda-remove-defaults: ["true", "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.
I think the long-term future for this feature is only to migrate conda users to the same pattern as mamba and pixi follow, setting a default channel in the distribution/bootstrapper layer and not hard-coding it in the codebase. That's why I think the name of the parameter for setup-miniconda is okay to focus on conda only, and not required to be named generically.
Supersedes #364