Skip to content
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

[release/8.0-staging] Update .NET 8 build images to use Azure Linux #110199

Merged
merged 3 commits into from
Feb 7, 2025

Conversation

sbomer
Copy link
Member

@sbomer sbomer commented Nov 26, 2024

Replaces the build images for which we have equivalent Azure Linux images (see dotnet/dotnet-buildtools-prereqs-docker#1173).

Fixes #112191

@dotnet-issue-labeler dotnet-issue-labeler bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Nov 26, 2024
@sbomer sbomer requested review from a team and richlander November 26, 2024 18:49
@teo-tsirpanis teo-tsirpanis added area-Infrastructure and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels Nov 28, 2024
@teo-tsirpanis teo-tsirpanis added this to the 8.0.x milestone Nov 28, 2024
Copy link
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

@carlossanlop carlossanlop added the Servicing-approved Approved for servicing release label Jan 13, 2025
@carlossanlop
Copy link
Member

This is infra, so I marked it as servicing-approved.

@sbomer @akoeplinger friendly reminder that today's Code Complete day for the February 2025 Release. If you want this fix included in that release, please make sure this PR is merged before 4pm PT. Otherwise it will have to wait until next month.

@sbomer
Copy link
Member Author

sbomer commented Jan 30, 2025

It seems the nodejs installation inside emsdk is broken, possibly related to dotnet/dotnet-buildtools-prereqs-docker#1291:

node:internal/modules/cjs/loader:927
throw err;
^

Error: Cannot find module 'node:path'
Require stack:

  • /usr/local/emscripten/emsdk/node/15.14.0_64bit/lib/node_modules/npm/lib/cli.js
  • /usr/local/emscripten/emsdk/node/15.14.0_64bit/lib/node_modules/npm/bin/npm-cli.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:924:15)
    at Function.Module._load (node:internal/modules/cjs/loader:769:27)
    at Module.require (node:internal/modules/cjs/loader:996:19)
    at require (node:internal/modules/cjs/helpers:92:18)
    at Object. (/usr/local/emscripten/emsdk/node/15.14.0_64bit/lib/node_modules/npm/lib/cli.js:10:18)
    at Module._compile (node:internal/modules/cjs/loader:1092:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10)
    at Module.load (node:internal/modules/cjs/loader:972:32)
    at Function.Module._load (node:internal/modules/cjs/loader:813:14)
    at Module.require (node:internal/modules/cjs/loader:996:19) {
    code: 'MODULE_NOT_FOUND',
    requireStack: [
    '/usr/local/emscripten/emsdk/node/15.14.0_64bit/lib/node_modules/npm/lib/cli.js',
    '/usr/local/emscripten/emsdk/node/15.14.0_64bit/lib/node_modules/npm/bin/npm-cli.js'
    ]
    }
    /__w/1/s/src/mono/wasm/wasm.proj(513,5): error MSB3073: The command "bash -c 'source /usr/local/emscripten/emsdk/emsdk_env.sh > /dev/null 2>&1 && npm ci'" exited with code 1.

It seems the npm install uses the node:path import syntax that requires node 16. Maybe https://github.com/dotnet/dotnet-buildtools-prereqs-docker/pull/1291/files#diff-a6274c9b8046ff8d5f82488f47958d10c151359bf4e7f5b7eba60f19372c241fR38 need to avoid updating to the latest npm. @akoeplinger do you mind taking a look?

akoeplinger added a commit to dotnet/dotnet-buildtools-prereqs-docker that referenced this pull request Feb 5, 2025
The latest npm doesn't support node 15.x anymore, install npm 9.x instead.

Should unblock dotnet/runtime#110199 (comment)
@mthalman
Copy link
Member

mthalman commented Feb 6, 2025

Where is this Node 15 version coming from? That's been EOL for more than 3 years. We shouldn't be making changes to accommodate for that version. Rather we should be updating Node to a supported version.

@akoeplinger
Copy link
Member

@mthalman as I explained in dotnet/dotnet-buildtools-prereqs-docker#1291 (comment) the emsdk version that we're shipping is frozen in time for 8.0. Upgrading to a newer node and monkey-patching it into the emsdk installed in the docker image is just a hack to get rid of the packages that are picked up by the scanners. I didn't want to bump too far ahead of the node that emsdk ships with but looks like we need to bump to at least 16.0

akoeplinger added a commit to dotnet/dotnet-buildtools-prereqs-docker that referenced this pull request Feb 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-Infrastructure Servicing-approved Approved for servicing release
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

6 participants