Comments (3)
The idea of using the same tool and pipeline locally, across developer machines and in CI would be broken by this.
We pin the patch version of the tools we are using, so we have encountered very little in the way of meaningful differences ourselves, but some projects will likely be more sensitive to the installation mechanism. Do you feel this concern wouldn't be addressed by offering an option to insist on a pure asdf plugin installation for those projects that require it?
Either way, I'm all for improving the performance of asdf-python; that is by far the slowest plugin we are using, and it would be nice not to require developers to install the Python build dependencies. I don't know whether it's a Docker image, but setup-python definitely installs pre-built Python from a global tool cache.
The caching technique described in #235 (comment) greatly improves performance in the cache hit case. The only performance value of the native setup actions is in the cache miss case, which we hit fairly often since we make a point of keeping up to date. Projects that upgrade less frequently likely don't mind the delay on cache miss as much. It would certainly be nice if caching didn't require the workaround described in that issue.
I'm a big fan of incremental progress in open source. Excited to see what you have in mind.
from actions.
I am not so much a fan of this idea. It changes the nature of using asdf
completely. The idea of using the same tool and pipeline locally, across developer machines and in CI would be broken by this.
It may be quicker, but that would be because of how some of the asdf plugins work. For instance, the asdf-python
plugin compiles from source. This takes a lot longer than pulling a pre-built & cached Docker image which I suspect the setup-python
action does.
Having plugins which give the option to compile from source or download a pre-built binary or such would be one pathway to solve this problem.
I will be investigating caching with this action to also address some of these performance issues.
I have a lot of ideas for this action, but instead of rewriting like I was planning with all my radical ideas in one big bang, I will take small incremental steps to get there.
from actions.
Do you feel this concern wouldn't be addressed by offering an option to insist on a pure asdf plugin installation for those projects that require it?
For this action, I think pure asdf plugin installation should be the default.
It would be good if asdf-python
offered an ENV_VAR configuration option to download thse same Python builds as setup-python
. Perhaps a fork or feature request to submit.
since we make a point of keeping up to date
Yeah, that would be annoying.
from actions.
Related Issues (20)
- Add the ability to install only particular tools HOT 1
- The action doesn't work when we cache the `/home/runner/.asdf` folder with Github Cache action HOT 5
- Actions fails to install nodejs lts version HOT 4
- Upgrade to Node.js 16 HOT 4
- Are these actions no longer released? HOT 8
- New Release HOT 2
- feat: CI tooling for asdf plugins which checks for asdf core banned_commands
- Add Contribution guide
- Local git hooks to ensure format and build etc are successful before push
- Enable semver major action references eg: `install@v2` HOT 2
- Update Node.js HOT 3
- [bug] MacOS build replaces `version` with literal `https` in download URL HOT 4
- Setting up asdf fails HOT 1
- asdf install task fails HOT 1
- Install asdf step occasionally fails with an error: URL using bad/illegal format or missing URL
- Allow `asdf-vm/actions/install` (to pass) without `.tool-versions` file HOT 1
- Install with `tools` (only allowlisted tools, with versions from `.tool-versions`)
- Add support for configuring asdf inside wsl
- windows-latest test broken HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from actions.