ilammy / msvc-dev-cmd

GitHub Action to setup Developer Command Prompt for Microsoft Visual C++
MIT License
329 stars 44 forks source link

Node12 is deprecated #59

Closed codemasher closed 1 year ago

codemasher commented 1 year ago

Just as a heads-up, as of recently (today?) the following popped up in the build annotations:

Node.js 12 actions are deprecated. For more information see: [link]. 
Please update the following actions to use Node.js 16: ilammy/msvc-dev-cmd

The link to the announcement: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/

I tried a quick fix by forking and just changing it to node16 but it kinda exploded and i didn't want to open that can of worms :)

ilammy commented 1 year ago

@codemasher,

I tried a quick fix by forking and just changing it to node16 but it kinda exploded

What exactly went wrong there?

I've pushed v1.12 (and updated v1) with the same fix from @Geod24 which should remove the warning. Looks fine to me...

codemasher commented 1 year ago

To be honest i have no idea what happened - perhaps because i ran the action from my own fork/branch (which i've deleted since)?

however, i found the log from said run - if that helps:

Run codemasher/msvc-dev-cmd@update-node
node:internal/modules/cjs/loader:936
  throw err;
  ^

Error: Cannot find module '@actions/core'
Require stack:
- D:\a\_actions\codemasher\msvc-dev-cmd\update-node\index.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (D:\a\_actions\codemasher\msvc-dev-cmd\update-node\index.js:1:14)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'D:\\a\\_actions\\codemasher\\msvc-dev-cmd\\update-node\\index.js'
  ]
}

Either way: thank y'all for the fix!

ilammy commented 1 year ago

Hm... I'd suppose you cloned the master branch which does not have node_modules directory vendored (that avoids clutter and need to constantly update them here). That branch won't work before you npm install the dependencies.

The release/v1 branch has node_modules, that's where the action code comes from when it's used by other projects.

codemasher commented 1 year ago

Ah that might have been the issue. Since i didn't have the brain juice to look into it, i deleted the branch and moved on - thanks for clearing this up!