|
1 | 1 | FROM ubuntu:24.04 |
2 | 2 |
|
3 | | -ARG NODE_JS_VERSION |
4 | | -ENV NODE_JS_VERSION=${NODE_JS_VERSION} |
5 | 3 | ENV DEBIAN_FRONTEND=noninteractive |
6 | 4 | RUN apt-get update |
7 | 5 | RUN apt-get -y -qq install git curl apt-transport-https ca-certificates apt-utils software-properties-common |
8 | 6 |
|
9 | | -# Install Node.js using nvm (reusing pattern from .evergreen/install-node.sh) |
| 7 | +# Install Node.js using nvm with version from VS Code's .nvmrc |
| 8 | +# This ensures we test with the same Node.js version that VS Code uses |
10 | 9 | ENV NVM_DIR="/root/.nvm" |
11 | 10 | RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash && \ |
12 | 11 | . "$NVM_DIR/nvm.sh" && \ |
13 | 12 | [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" && \ |
14 | | - nvm install --no-progress $NODE_JS_VERSION && \ |
15 | | - nvm alias default $NODE_JS_VERSION && \ |
16 | | - nvm use $NODE_JS_VERSION |
| 13 | + NODE_VERSION=$(curl -fsSL https://raw.githubusercontent.com/microsoft/vscode/refs/heads/main/.nvmrc | tr -d '[:space:]') && \ |
| 14 | + echo "Installing Node.js version from VS Code .nvmrc: $NODE_VERSION" && \ |
| 15 | + nvm install --no-progress $NODE_VERSION && \ |
| 16 | + nvm alias default $NODE_VERSION && \ |
| 17 | + nvm use $NODE_VERSION && \ |
| 18 | + echo "export NVM_DIR=\"$NVM_DIR\"" >> /root/.bashrc && \ |
| 19 | + echo "export PATH=\"$NVM_DIR/versions/node/v${NODE_VERSION}/bin:\$PATH\"" >> /root/.bashrc |
17 | 20 |
|
18 | | -# Set PATH so node/npm are available in all contexts |
19 | | -ENV PATH="$NVM_DIR/versions/node/v${NODE_JS_VERSION}/bin:$PATH" |
| 21 | +# Set PATH so node/npm are available in all contexts (using wildcard since we don't know the version at Docker ENV time) |
| 22 | +RUN bash -c ". $NVM_DIR/nvm.sh && ln -sf \$(which node) /usr/local/bin/node && ln -sf \$(which npm) /usr/local/bin/npm" |
20 | 23 |
|
21 | 24 | # Install vscode dependencies |
22 | 25 | RUN apt-get -y -qq install libnss3 gnupg libxkbfile1 libsecret-1-0 libsecret-1-dev libgtk-3-0t64 libxss1 libgbm1 libasound2t64 xvfb build-essential pkg-config |
|
0 commit comments