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 miniconda to macOS 13 and 14 images (again) #9262

Closed
6 of 14 tasks
jezdez opened this issue Jan 31, 2024 · 5 comments
Closed
6 of 14 tasks

Add miniconda to macOS 13 and 14 images (again) #9262

jezdez opened this issue Jan 31, 2024 · 5 comments

Comments

@jezdez
Copy link

jezdez commented Jan 31, 2024

Tool name

miniconda

Tool license

3-clause BSD License

UPDATE (as reported by @zooba): Miniconda is covered by a licensing agreement between Microsoft and Anaconda Inc:

Add or update?

  • Add
  • Update

Desired version

23.11.0

Approximate size

No response

Brief description of tool

Miniconda was part of the macOS images in the past, until macOS 12, but has not been part of the macos 13 and 14 images.

It is currently part of the Ubuntu and Windows images.

Miniconda is used by a huge number of people in all industries, from Open Source maintainers (e.g. bioconda, conda-forge) to Enterprise customers, particularly in the scientific and AI communities (~40 million users according to Microsoft partner Anaconda Inc). Conda is free to use.

In #8422 (comment) @vpolikarpov-akvelon replied:

We've decided not to include Miniconda in the mac OS 13 image to help reduce maintenance. We're trying to strike a balance between convenience and keeping things streamlined and Miniconda isn't a super common tool for everyone.

If you'd like to have Miniconda preinstalled, you can use custom self-hosted runners. They're a great way to tailor your environment to your specific needs.

I'm responding here in a new issue since I haven't gotten a reply to my comment in the original issue. Running custom self-hosted runners is not going to solve this problem, since conda is a self-service package manager and GitHub user would not run a self-hosted runner to make use of it. You wouldn't make the same argument for tools like homebrew or pipx.

I'm looking to get feedback from GitHub on how we can add miniconda to the macOS 13 and 14 images again. What are the constraints currently that block adding it back, and how can we overcome them?

URL for tool's homepage

https://docs.conda.io/projects/miniconda/en/latest/

Provide a basic test case to validate the tool's functionality.

conda --version

Platforms where you need the tool

  • Azure DevOps
  • GitHub Actions

Runner images where you need the tool

  • Ubuntu 20.04
  • Ubuntu 22.04
  • macOS 11
  • macOS 12
  • macOS 13
  • macOS 13 Arm64
  • macOS 14
  • macOS 14 Arm64
  • Windows Server 2019
  • Windows Server 2022

Can this tool be installed during the build?

See the installation of miniconda in the Windows and Ubuntu images, as well as the macOS builds prior to macOS 13.

Tool installation time in runtime

30 seconds

Are you willing to submit a PR?

Yes

@erik-bershel
Copy link
Contributor

Hello @jezdez!

Due to certain technical constraints and maintenance difficulties, we have decided to streamline latest macOS images and remove some programs from them that can be installed quickly and easily at runtime or are infrequently used. The Miniconda package manager tool is also included in this list. Unfortunately, at the moment, we have no plans to reintroduce any of the removed packages, but we will certainly notify the community if plans change.

I would like to note that installing a Miniconda in runtime using the official instructions presented on the site takes less than a minute (about 20 sec to be honest) and does not require special skills or extreme complexity of the workflow code.

@zooba
Copy link

zooba commented Jan 31, 2024

Is this kind of thing supported and regularly tested in actions? (taken from the linked install page for macOS)

After installing, initialize your newly-installed Miniconda. The following commands initialize for bash and zsh shells:

~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh

I know there have been issues in the past where updating shell settings doesn't apply properly to subsequent steps, which is one of the main reasons we've had to have stuff preconfigured.

kangwonlee pushed a commit to kangwonlee/nmisp that referenced this issue Apr 28, 2024
OSX latest image nolonger has miniconda by default

actions/runner-images#9262 (comment)
kangwonlee pushed a commit to kangwonlee/nmisp that referenced this issue Apr 28, 2024
OSX latest image nolonger has miniconda by default

actions/runner-images#9262 (comment)
kangwonlee pushed a commit to kangwonlee/nmisp that referenced this issue Apr 28, 2024
OSX latest image nolonger has miniconda by default

actions/runner-images#9262 (comment)
kangwonlee pushed a commit to kangwonlee/nmisp that referenced this issue Apr 28, 2024
OSX latest image nolonger has miniconda by default

actions/runner-images#9262 (comment)
kangwonlee pushed a commit to kangwonlee/nmisp that referenced this issue Apr 28, 2024
OSX latest image nolonger has miniconda by default

actions/runner-images#9262 (comment)
kangwonlee pushed a commit to kangwonlee/nmisp that referenced this issue Apr 28, 2024
OSX latest image nolonger has miniconda by default

actions/runner-images#9262 (comment)
kangwonlee pushed a commit to kangwonlee/nmisp that referenced this issue Apr 28, 2024
OSX latest image nolonger has miniconda by default

actions/runner-images#9262 (comment)
kangwonlee pushed a commit to kangwonlee/nmisp that referenced this issue Apr 28, 2024
OSX latest image nolonger has miniconda by default

actions/runner-images#9262 (comment)
kangwonlee pushed a commit to kangwonlee/nmisp that referenced this issue Apr 28, 2024
OSX latest image nolonger has miniconda by default

actions/runner-images#9262 (comment)
@ndevenish
Copy link

The Azure pipelines documentation (which links here as the image source) still states that conda is built-in: https://learn.microsoft.com/en-us/azure/devops/pipelines/ecosystems/anaconda

greglandrum added a commit to greglandrum/rdkit that referenced this issue Oct 2, 2024
This is driven by the changes suggested here: actions/runner-images#9262
We need to update the mac build scripts to install miniforge ourselves.
<sigh>
greglandrum added a commit to rdkit/rdkit that referenced this issue Oct 3, 2024
* temporarily be explicit about using the macos-12 image
This is driven by the changes suggested here: actions/runner-images#9262
We need to update the mac build scripts to install miniforge ourselves.
<sigh>

* lock the compiler version too
19.1 seems to cause problems with the libcffi code
@guyer
Copy link

guyer commented Oct 3, 2024

@erik-bershel, your explanation offered here is specious if you're not also going to drop it from the ubuntu and windows images, particularly given @ndevenish's point that the documentation still tells you $CONDA is defined for macOS. To make this all the more confusing, the macos-latest image just jumped from macos-12 to macos-14 between October 1st and October 2nd.

@ndevenish
Copy link

To make this all the more confusing, the macos-latest image just jumped from macos-12 to macos-14 between October 1st and October 2nd.

Ah! I had wondered what caused our CI to break all of a sudden. I thought it might have been an image change, but couldn't find any notices about it and thought "Wait, 14 was last year, maybe something else happened".

guyer added a commit to usnistgov/fipy that referenced this issue Oct 4, 2024
* Add test of #1069

* Ensure function arguments are all in repr form

* Reverse order of pop'd arguments

Successive pops reverses, so reverse back

* Install miniconda on macos

Grrr.  Laggards on Azure/GHA team
[dropped miniconda on macos images](actions/runner-images#9262)
greglandrum added a commit to rdkit/rdkit that referenced this issue Oct 25, 2024
* temporarily be explicit about using the macos-12 image
This is driven by the changes suggested here: actions/runner-images#9262
We need to update the mac build scripts to install miniforge ourselves.
<sigh>

* lock the compiler version too
19.1 seems to cause problems with the libcffi code
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants