-
Notifications
You must be signed in to change notification settings - Fork 0
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
Is nvi supposed to run inside CI? #13
Comments
The paragraph is poorly phrased, indeed. Here's a version that seems clearer to me:
I agree that we may need an example Dockerfile. Our current CI environment is unfortunately too privileged to be used as an example, but it can easily be redacted. Does this alternative phrasing clear things up? |
The lack of alpine support is bad. I've seen a lot of interest in alpine around the Node.js community. It seems that prior art is all about downloading the required GNU tools for building Node.js, compiling Node.js from source using GNU tools, and uninstalling the GNU tools. This puts us in a poor spot for supporting installing Node.js for alpine, I fear. |
Yes. However, that presents some interesting compatibility trials. I think I had trouble with |
We could write a script that attempts to download and use |
You might not want to care about Alpine, at least for a start. Alpine uses musl, not glibc, and everything is statically linked. Unfortunately things link with glibc willy-nilly, so many things don't Just Work in Alpine. It's entirely likely the default distribution of Node.js has that problem. |
I don't think alpine is a low-hanging fruit, but other distros might be. The first step is probably to automate the process of figuring out compatibility. |
You could do something like FROM ubuntu:16.04
RUN apt update && apt install --yes wget
COPY nvi /
COPY test-nvi /
CMD ["/test-nvi"] for different distros but the package manager makes it a little difficult to automate this across distros. I used the test script I showed in #11 but that's insufficient. Also, I broke |
The many distros with neither
I think for now we'll just ensure this list is kept up to date. It seems likely that people know how to satisfy these dependencies and whether or not they make
Perhaps this needs rephrasing at some point, but irt. this issue I think we should keep in mind that:
I think the actions spawned by the discussion are few, then. Update the README to clearly communicate 1., 2., and 3. above. Does that sound reasonable? |
Yes. Although, |
My initial reason for depending on From the
From the
In the end I'm interested in utility over purity, however. We could even consider having |
This works: if hash wget 2>/dev/null
then
downloader=(wget --quiet --output-document)
else
downloader=(curl --silent --location --output)
fi
if ! "${downloader[@]}" "$DOWNLOAD_DEST" "$NODE_TAR" |
That looks find to me, but we should probably move it to a new issue. |
It's a little unclear whether
nvi
is supposed during image building, by installing Node.js into the image, or inside the container itself after build time. In case of the former, I think the paragraphneeds to be rephrased somehow. In case of the latter we should provide more detailed instructions on how to go about that, perhaps even supplying a
Dockerfile
for demonstrational purposes. Further, we need to investigate image compatibility (for instance,nvi
does not work in Alpine, and cannot be trivially made to).The text was updated successfully, but these errors were encountered: