-
Notifications
You must be signed in to change notification settings - Fork 14.6k
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
Can't run website in a container via make container-serve
due to the image absence
#49460
Comments
I am also facing the same issue. |
/triage accepted Only affects contributors, not website visitors, but we should get a fix in place; we may need to revisit how we build and publish the container image(s) |
Until we fix this, there are two workarounds you can use:
If you like helping out, SIG Docs can guide you towards working on a longer term fix. The best place to offer help is the |
Got the link to the failing prow job on the 15th Jan https://prow.k8s.io/view/gs/kubernetes-ci-logs/logs/post-website-push-image-k8s-website-hugo/1879257326494420992 A cursory glance makes me think that the issue might have something to do with npm and package.json but I will need to look into it more. EDIT: Maybe its related to ed1cc81 |
We should check that the container build works for AArch64 (ideally: we also add some CI checks to reject PRs that break image builds) I think it builds fine for AMD64, but maybe only for AMD64. In the cloud we build a multiarch image. |
#49529 is an attempt to debug the issue. |
I (still) suspect that a local AArch64 build would also fail. |
Yeah. I see: #24 84.50 npm error npm error ld-linux-aarch64.so.1: /root/.npm/_cacache/tmp/git-cloneXXXXXXMFelHl/node_modules/hugo-extended/vendor/hugo: Not a valid dynamic program
#24 84.50 npm error npm error ✖ Hugo installation failed. :(
#24 84.50 npm error npm error node:internal/errors:984
#24 84.50 npm error npm error const err = new Error(message); Looks like an issue with NPM rather than the infrastructure. Possible the alpine image no longer have this lib for |
I was able to reproduce this locally when building a multi-arch build. So, I did some testing and found that this issue is not AArch64 related rather it's Alpine+AArch64 related. The issue is that the hugo-extended binary just doesn't run on Alpine + AArm64. It's not the Thing is, onlyh the
I think alpine is missing something critical since hugo-extended is dynamically linked. On a side note, existing images built for AArch64 won't work on it as the Dockerfile downloads the amd64 binary only (see https://github.com/kubernetes/contributor-site/blob/148e2934d70ecc89ab2a770407defb973dbab8d4/Dockerfile#L27) EDIT: Welp, I found this issue gohugoio/hugo#10839 and the "solutions" don't work either, the solutions being adding the |
That's a link to a different Git repository; did you mean to link there @SayakMukhopadhyay ? |
If we can avoid NPM wanting to download Hugo, that'll help. But not a small fix. |
I did mean to point to the contrib site Dockerfile as thats the one I was testing the npm install on (since its smaller and faster). But now I see that the website uses Go as a base image and builds Hugo from source. Let me test as building might be the best option. |
This is a Bug Report
Problem:
Running
make container-serve
inkubernetes/website:main
(to run the website locally in a container) leads to an error:It happens on Linux/amd64. This behaviour is confirmed by a few people.
Proposed Solution:
Following the #49444 discussion, it should be fixed not by prior executing
make container-image
(to build images locally), but by the availability of Hugo images that can be pulled from GCR instead. As @sftim noted in Slack, they might be absent due to a recent Docsy upgrade. We need to have them back.The text was updated successfully, but these errors were encountered: