-
Notifications
You must be signed in to change notification settings - Fork 6
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
Re-evaluate the way some Nextstrain components are added #129
Comments
The source-based installs of Augur and Auspice are what allow the The intended usage scenario of those is during development or testing of a small fix or new feature in Augur or Auspice², when you want to give it a whirl inside the full, actual runtime environment instead of your local development environment. I've used those options very sporadically over the years, but my most recent use was still in the past month or two. That said, I don't know how much any others have used that functionality. If it poses a continued obstacle to other improvements, it's maybe time to ditch it. ¹ As an aside, this caused me to notice that ² As long as it doesn't require new/updated deps. |
Auspice just uses a trigger to rebuild the docker image - there's no determining the latest version, right? Lines 251 to 252 in d59452c
I haven't used this functionality in a long time, however I've been playing with docker recently and am looking forward to using it (docker) as part of my day-to-day work. I suspect this is more useful for augur compared with auspice? For auspice, any code changes require the bundle to be rebuilt on the host machine as it's bind-mounted into the container which just uses the built (bundled) assets (AFAIK - (I avoid |
Correct, the
I believe what you're looking for is the ability to use Auspice source code copied from the host into the pre-built Docker image (not rebuilding the image itself) - this is what's enabled by the It looks like there are still use cases for having Augur/Auspice installed from source. Of the 2 benefits I mentioned for installing from PyPI/NPM, I don't think either of them justify removing the source-install feature. There are other ways to improve the way the latest version is determined for Augur. |
Not quite -- there's some subtlety here. The docker container uses the built (bundled) auspice code rather than the source code, so if you use |
Yeah, the use case for Do you have a need to test Auspice built using the Docker environment? |
I've briefly looked at why docker build actions take so long (~1hr) and it seems that the biggest single time sink is Auspice build. Could we reduce the build time by moving the Auspice build step earlier so that it only needs to build when we have a new Auspice release? It seems to be the most time-intensive build step, accounting for at least half of the build time of ~1hr. Does anyone actually use that |
… did you read either of my comments above? I find it hard to see how you would have these questions if you had. |
Coming back to this after a while. Two motivations have been addressed:
Closing with the decision that things should be kept as-is. |
This topic was mentioned in #44 (comment) and #128 (comment).
Current Behavior
nextstrain-cli and evofr are installed from PyPI using
pip3 install <package>
.Nextclade and Nextalign pre-built binaries are downloaded from the latest GitHub Release in the Nextclade repo.
Fauna, Augur, and Auspice are installed from source.
Questions
Why are the last 3 installed from source?
This is what I can gather:
--volume=.../augur:/nextstrain/augur
.Should Augur and Auspice be installed from PyPI/NPM instead?
This is where I'd like to hear more input. Installing from their respective package registries would remove the need to determine the latest version, and is more consistent with installation of other tools.
The trade-off is that installing from PyPI/NPM would remove the ability to replace the version upon runtime. That ability has been available for Augur from the start, and extended to Auspice in 0b27e44. I'm curious what the original motivation was for this and if that motivation still applies today.
The text was updated successfully, but these errors were encountered: