Skip to content
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 (Mini/Mamba)forge #133

Merged
merged 12 commits into from
Dec 29, 2020
Merged

Conversation

bollwyvl
Copy link
Contributor

@bollwyvl bollwyvl commented Dec 28, 2020

Related

Code Changes

  • download-miniforge.ts
    • uses GitHub API to fetch releases (if version is not specified)... am trying to properly cache these, but i think there's some cache locality stuff
  • removes some dead code
  • tweaks provider logging to avoid constructions like Can we use use conda create?
  • conda.ts
  • if use-mamba and mamba-in-installer is specified, will try to use mamba earlier in the process, but also catches things like conda init which aren't supported by the mamba CLI yet
  • installer/index.ts
    • now accepts (and can update) dynamic options, so that it can detect an installed mamba
  • base-tools/index.ts
    • splits up tool specs and post-install
  • upgrade-mamba.ts
    • can no-up the upgrading, but we will still want the mamba bash wrapper on windows without starting the solver)
  • tests
    • adds workflow with a shotgun of different options to test out versions, interplay with other stuff

User-facing changes

  • adds miniforge-variant, miniforge-version, to specify a Miniforge product
  • adds mamba-in-installer and use-mamba to fine-tune use of Mambaforge
  • updates the README, with some cross-links between mamba, custom installer, and this new provider

Backwards-incompatible changes

N/A

Follow-on

  • with these changes, we're ready for micromamba (Micromamba based setup? #75), but:
    • the mamba CLI doesn't yet appear to support init for shell integration...
      • perhaps we can hot-install micromamba into the bundled miniconda bin or Scripts or condabin or something?
  • while our list of inputs (and therefore our README) is getting rather long, I think from a maintenance perspective, keeping one action running that can do all the things is probably useful vs splitting effort (especially now that we've [do not merge] major refactor of downloads, environment creation #107-ed ourselves to where we are now)
    • perhaps we should consider doing a real docs site, potentially with a little "wizard" for building up a workflow
    • or, start using the GitHub wiki or discussions

@bollwyvl
Copy link
Contributor Author

Hooray 💚 !

@goanpeca goanpeca added this to the v2.1.0 milestone Dec 28, 2020
@goanpeca
Copy link
Member

Thanks for working on this @bollwyvl, this is awesome :)

action.yml Outdated
@@ -180,13 +200,26 @@ inputs:
removed from the runner. Default is "true".'
required: false
default: "true"
mamba-in-installer:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this be checked programmatically? Once installed one can check for mamba or mamba.bat in $PREFIX/condabin and determine it without user intervention, I think.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmmm... it's probably worth a look...

@goanpeca
Copy link
Member

perhaps we should consider doing a real docs site, potentially with a little "wizard" for building up a workflow

Absolutely, I think we are big enough that we can have dedicated docs :) will set something with githubpages and myst :)

@bollwyvl
Copy link
Contributor Author

Ok, so ab60b01 is back to 🟢 and 4651cc0 is mostly cosmetic... thanks @jaimergp for pushing to remove the manual thing: doing the detection uncovered a number of future bugs (e.g. adding that bash wrapper on windows).

example-10.yml is getting pretty hairy at this point, but I think has proven out a lot of cases (e.g. mamba in the installer upgrading to a specific mamba). I'd better stop tinkering with it.

Let's definitely squash merge this one :P

@jaimergp
Copy link
Member

Nice!

adding that bash wrapper on windows

Hopefully this is addressed at the mamba level at some point (them providing a shell command like conda does)

@bollwyvl
Copy link
Contributor Author

bollwyvl commented Dec 29, 2020 via email

@goanpeca goanpeca merged commit de616be into conda-incubator:master Dec 29, 2020
@goanpeca
Copy link
Member

Another awesome piece of work @bollwyvl :) 🥳

Thanks!

@bollwyvl bollwyvl deleted the add-miniforge branch December 30, 2020 01:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants