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

Configure installation location per project (similar to Bundler config) #278

Open
jkmathew opened this issue Oct 25, 2024 · 2 comments
Open

Comments

@jkmathew
Copy link
Contributor

Problem:

Currently, Mint installs all tools globally by default, which can lead to conflicts or complications when working with multiple projects that require different versions of the same tool, also on the CI.

I would like to propose to introduce a configuration option, either via a .mintconfig file or project-specific settings in the Mintfile file, to allow developers to define the installation location of Mint-managed tools on a per-project basis. For example, tools could be installed in a ./mint/ directory within the project, rather than globally.

The second option will be easy once we have #165 implemented.

@yonaskolb
Copy link
Owner

As an initial comment, mint does not install tools globally by default, only when you use mint install. If you use mint run (which does build and cache the specific version as well) this shouldn't be a problem. Bootstrapping from a Mintfile doesn't do global installs either. Would that solve your use case?

@jkmathew
Copy link
Contributor Author

Thanks for the reply!
mint run partially solves the issue.

I was thinking of a use case like the following on CI workflows.

1. Restore binaries cache
2. If the cache is restored successfully, skip the 3 & 4
3. Install mint
4. Install all dependencies using Mint to a specified path.
5. Use binaries from the specified path

To use mint run, I have to run step 3 always, which increases the time spent on the CI workflow. I was wondering whether I could skip step 3 as well.

Another option I see is to cache mint binary also. That may help.

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

No branches or pull requests

2 participants