-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
feat: make images arm64 compatible #404
Conversation
Only problem now is, removing pandas for arm64 and using this package instead, it'll messup with version from requirements.txt |
So the problem is that the pandas version currently being used inside ERPNext is fairly old, and back then they did not have any pre-built wheels. The newer versions are prebuilt and the builds are available on PyPi. If somehow we could get the pandas version updated on the upstream ERPNext, then we already have a solution for this problem. |
pandas>=1.0.5 : it needs latest pandas as per requirements https://github.com/frappe/erpnext/blob/develop/requirements.txt#L5 It should get latest? |
Oh, this must have been updated very recently so I might've missed it. And yes, it should fetch the latest version available, then. There's an issue regarding the Maybe we can build the wheel locally, add to this repository, and copy/setup inside the docker image until this issue is sorted out? |
Any idea how to do that? I tried, I tried to do something like this: RUN python -m venv env \
&& . env/bin/activate \
&& cd apps \
&& git clone --depth 1 -o upstream https://github.com/frappe/frappe --branch ${GIT_BRANCH} \
# Detect arch to install python wheel
&& if [ `uname -m` = 'aarch64' ]; then \
pip3 install /opt/wheels/*.whl; \
export EXTRA_ARGS="-I --no-binary Pillow,psycopg2-binary"; \
fi \
&& pip3 install --no-cache-dir -e /home/frappe/frappe-bench/apps/frappe ${EXTRA_ARGS} |
doesn't |
I don't know what it means, no download? no compile? don't use downloadable bins? https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption-no-binary edit: I tried without |
|
I tried removing it. It still starts to build. command to test builds docker buildx create --use
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker buildx inspect --bootstrap
# from repo root
export DOCKER_REGISTRY_PREFIX=dockerusername
docker buildx build \
--platform linux/arm64 \
--push \
-t ${DOCKER_REGISTRY_PREFIX}/frappe-worker:edge \
-t ${DOCKER_REGISTRY_PREFIX}/frappe-worker:develop \
-t ${DOCKER_REGISTRY_PREFIX}/frappe-worker:latest \
-f build/frappe-worker/Dockerfile .
try copying the whl from wheels.zip attached in previous comment. |
We can merge this?
Changes are
If we merge this i'll propagate all changes develop -> master. The v13beta10 released will get built. |
Can be merged. I am still unsure why it builds, but yeah, good to go! |
feat: make images arm64 compatible
Github actions has more timeout limit to run jobs. Project can be moved there for automated builds?
Anyway 2+ hrs to build something (2+ x3 for v13,v12,v11) is not sustainable?