From 6bebefd6fdd95e4bb95226ea4b1069e9344e02d8 Mon Sep 17 00:00:00 2001 From: Linus Dietz Date: Thu, 19 Mar 2026 11:41:55 +0000 Subject: [PATCH] Detect node architecture to enable MacOS M* builds --- xtext/Dockerfile | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/xtext/Dockerfile b/xtext/Dockerfile index 562e95b..ce93ca6 100644 --- a/xtext/Dockerfile +++ b/xtext/Dockerfile @@ -67,16 +67,19 @@ ENV ES_DEPLOY_FILE_LOCATION=${CATALINA_HOME}/webapps # The release of node to install ENV NODE_VERSION=19.9.0 -ENV NODE_RELEASE=node-v${NODE_VERSION}-linux-x64 RUN apt-get update && apt-get install -y --no-install-recommends unzip zip xz-utils maven cron psmisc -# Install node +# Install node (detect architecture for arm64/x64 compatibility) WORKDIR $INSTALL_DIR -RUN echo installing ${NODE_RELEASE}\ - && curl --output ${NODE_RELEASE}.tar.xz https://nodejs.org/download/release/v${NODE_VERSION}/${NODE_RELEASE}.tar.xz\ - && tar -xf ${NODE_RELEASE}.tar.xz -ENV PATH="$INSTALL_DIR/${NODE_RELEASE}/bin:${PATH}" +RUN ARCH=$(dpkg --print-architecture) \ + && if [ "$ARCH" = "arm64" ] || [ "$ARCH" = "aarch64" ]; then NODE_ARCH="linux-arm64"; else NODE_ARCH="linux-x64"; fi \ + && NODE_RELEASE="node-v${NODE_VERSION}-${NODE_ARCH}" \ + && echo "Installing ${NODE_RELEASE}" \ + && curl --output ${NODE_RELEASE}.tar.xz https://nodejs.org/download/release/v${NODE_VERSION}/${NODE_RELEASE}.tar.xz \ + && tar -xf ${NODE_RELEASE}.tar.xz \ + && ln -s ${INSTALL_DIR}/${NODE_RELEASE} ${INSTALL_DIR}/node +ENV PATH="$INSTALL_DIR/node/bin:${PATH}" WORKDIR /usr/src/toolfunctions