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

Q: What's the difference to "provision-with-micromamba" #70

Closed
corneliusroemer opened this issue May 15, 2023 · 2 comments
Closed

Q: What's the difference to "provision-with-micromamba" #70

corneliusroemer opened this issue May 15, 2023 · 2 comments
Labels
question Further information is requested

Comments

@corneliusroemer
Copy link

I noticed that this action looks quite similar to the other mamba-org action: https://github.com/mamba-org/provision-with-micromamba/tree/v15/

What's the difference?

@corneliusroemer
Copy link
Author

Found an answer here: mamba-org/provision-with-micromamba#114

@pavelzw
Copy link
Member

pavelzw commented May 17, 2023

A few notes on why we decided to create a new Action:

  1. provision-with-micromamba executed micromamba shell init -s <shell> on every shell that existed on the runner, i.e., bash, zsh, powershell, cmd.exe. This was mostly unnecessary since most people use only bash. Further, this lead to the pollution of the runners which is fine by itself on GH hosted runners since they get thrown away after the run but is another story on self-hosted runners where the home directory could be persisted. setup-micromambaon the other hand allows you to specify which shells should get initialized (default bash only) which is way more convenient for self hosted runners.
  2. In provision-with-micromamba, it was not very clear what happens with the .condarc. In most cases, this file just got overwritten with other content that you might not want there. setup-micromamba on the other hand allows you to either specify an existing .condarc file that gets used everywhere or create a custom condarc file in another place than the default which prevents the overwriting part.
  3. provision-with-micromamba was written in JavaScript and not in TypeScript. setup-micromamba is written in TypeScript which makes it more maintainable.
  4. provision-with-micromamba had a some unnecessary arguments (like channels or channel-priority) that made the action more complex. setup-micromamba allows you to specify all these options in the .condarc file instead of in multiple places.
  5. In setup-micromamba you can specify the installation location which makes it more convenient for self-hosted runners to tailor the actions to their needs.
  6. In provision-with-micromamba, there was no semantic versioning at all, only @v1, @v2, ..., @v15 tags. This makes it unnecessarily hard to update the version in your GitHub workflows and you always need to increment the tag to get the latest version. setup-micromamba uses the default versioning and tagging scheme that everybody uses in GH Actions, i.e., @vx.y.z as well as @vx which points to the latest @vx.y.z. Here you can just use @v1 and nothing should fail. If there are breaking changes, you can manually update.

@pavelzw pavelzw added the question Further information is requested label May 17, 2023
@pavelzw pavelzw closed this as completed May 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants