|
1 | 1 | FROM ubuntu:24.04 |
2 | 2 |
|
| 3 | +ARG NODE_JS_VERSION |
| 4 | +ENV NODE_JS_VERSION=${NODE_JS_VERSION} |
3 | 5 | ENV DEBIAN_FRONTEND=noninteractive |
4 | 6 | RUN apt-get update |
5 | 7 | RUN apt-get -y -qq install git curl apt-transport-https ca-certificates apt-utils software-properties-common |
6 | 8 |
|
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 |
| 9 | +# Install Node.js using nvm (reusing pattern from .evergreen/install-node.sh) |
9 | 10 | ENV NVM_DIR="/root/.nvm" |
10 | 11 | RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash && \ |
11 | 12 | . "$NVM_DIR/nvm.sh" && \ |
12 | 13 | [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" && \ |
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 |
20 | | - |
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" |
| 14 | + nvm install --no-progress $NODE_JS_VERSION && \ |
| 15 | + nvm alias default $NODE_JS_VERSION && \ |
| 16 | + nvm use $NODE_JS_VERSION |
| 17 | +# Set PATH so node/npm are available in all contexts |
| 18 | +ENV PATH="$NVM_DIR/versions/node/v${NODE_JS_VERSION}/bin:$PATH" |
23 | 19 |
|
24 | 20 | # Install vscode dependencies |
25 | 21 | 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