-
Notifications
You must be signed in to change notification settings - Fork 16
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
Update micromamba installation process, refactor options #185
Conversation
Do we need new test cases? Also, can you bump the version to |
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 is getting a bit complicated... my hypothesis how it works
Exists in PATH | download-micromamba |
micromamba-binary-path |
Behavior |
---|---|---|---|
No | false | unset | Error |
No | false | set | Use binary (absolute path) |
No | true | unset | Download to default location |
No | true | set | Download to custom location |
Yes | false | unset | Use binary (from PATH) |
Yes | false | set | ? |
Yes | true | unset | ? |
Yes | true | set | ? |
|
this would be a breaking change. Also I don't know if we really want to have this behavior. In some other self-hosted scenarios (non-ephermal), you might want to explicitly alter the path to |
I like the table, how about we also put it in the readme? |
The table doesn't cover what's happening when |
I extended the table above and in the README |
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 behavior is fine with me 👍🏻 Can we get some tests (using a matrix maybe)?
If you need a table to explain the interaction between the options, maybe there is too much interaction going on. Is there a way to simplify things? |
Co-authored-by: Pavel Zwerschke <[email protected]>
I would want the following use-cases / options for users:
I can't think of any real simpler solutions that allow all use cases without introducing breaking changes. |
IIUC this is the only new feature of this PR:
And the matrix without this PR is
Simplified, the old cases are
With the new feature, the matrix gains 6 new cases. Simplified, the new cases are
Not easy to reason about. I think it's a very high cost just for being able to remove these lines from the caller:
Or are trying to solve situations here where we don't know whether Micromamba is in PATH, ie. we can't hardcode these two lines? |
No, my intention for this PR is to be able to remove those lines. I am using GitHub actions with self-hosted runners in an environment with limited network access. I use several composite actions that use |
I have added a test to ensure that if During this i noticed that setup-micromamba tries to create the micromamba-shell right next to the micromamba binary. This should probably be changed to a tmp path, as micromamba might be installed into e.g. /usr/local/bin |
Do a bit of cleanup
This pull request updates the micromamba installation process to use a pre-installed binary if available and
micromamba-binary-path
anddownload-micromamba
are undefined or false.