GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — Add Official Support for Windows Docker Images by zZHorizonZz · Pull Request #2136 · nodejs/docker-node Conversation
|
|
I see something weird going on in the GitHub action when running the It almost seems like it's not able to call the servers outside. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
The only thing I can think of is that it's being rate limited on the keyserver side, as the requests are coming from GitHub where I imagine a lot of people are sending requests. But in that case, I don't understand why the Linux build would work. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Can you create a docs update PR for this? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
I have updated the README to include a section about the windowsservercore variant. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Maybe I understand it wrong, but did you mean to update the README or is there some separate documentation I should update? I didn't find any other doc files in this project. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
There's a separate repo for the documentation on Hub but I realise the Node one is out of sync so I will fix that seperatly. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I will let the other members review it but LGTM |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
| gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc ; \ | ||
| Invoke-WebRequest $('https://nodejs.org/dist/v{0}/node-v{0}-win-x64.zip' -f $env:NODE_VERSION) -OutFile 'node.zip' -UseBasicParsing ; \ | ||
| $sum = $(cat SHASUMS256.txt.asc | sls $(' node-v{0}-win-x64.zip' -f $env:NODE_VERSION)) -Split ' ' ; \ | ||
| if ((Get-FileHash node.zip -Algorithm sha256).Hash -ne $sum[0]) { Write-Error 'SHA256 mismatch' } ; \ |
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
@zZHorizonZz to meet what @tianon said, I think you could change these 2 line to be
if ((Get-FileHash node.zip -Algorithm sha256).Hash -ne $NODE_CHECKSUM) { Write-Error 'SHA256 mismatch' } ; \
The reason why this is better is that the images get rebuilt when the base image changes so if the server was compromised, the key would be changed at the same time as the archive. This means that the arcgive can't change or rebuilds would fail.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
@LaurentGoderre It's not really just about changing these two lines. If we check the checksum, we don't really need GPG or multistage, which makes it simpler. So, what I'll do is remove the GPG installation and SHA256 download and replace it with verification through the NODE_CHECKSUM variable. I'll also remove the multistage as that's not necessary if we're going this way.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Aren't these two different checks though? One checks it wasn't modified, the other checks it came from the release team
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
I'm starting to get a little bit confused here.
If we change these two lines:
$sum = $(cat SHASUMS256.txt.asc | sls $(' node-v{0}-win-x64.zip' -f $env:NODE_VERSION)) -Split ' ' ; \
if ((Get-FileHash node.zip -Algorithm sha256).Hash -ne $sum[0]) { Write-Error 'SHA256 mismatch' } ; \
To this:
if ((Get-FileHash node.zip -Algorithm sha256).Hash -ne $NODE_CHECKSUM) { Write-Error 'SHA256 mismatch' } ;
We validate the checksum against the supplied checksum NODE_CHECKSUM. In the first version, we used the sum extracted from the SHASUMS256.txt.asc file. Maybe I misunderstood you. Did you mean to replace these lines or add a new check but keep the verification from SHASUMS as well? I got confused because @tianon is also discussing whether we should use GPG at all. I looked through the Golang Windows images, and they are also using only one check with a static SHA256.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Ah yeah, my bad. We might be good to just have the hardcoded checksum and no gpg
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…KSUM Signed-off-by: Daniel Fiala <[email protected]>
Signed-off-by: Daniel Fiala <[email protected]>
There was an error while loading. Please reload this page.
|
So since this has been merged, it means that users won't be able to use corepack without installing it (In the future). So do we want to install yarn or not? I personally think the decision on what to use for a package manager should be up to the user. So I would personally not install yarn at all and keep it the way it is, just plain Node.js, or install corepack so that users can then enable the package manager of their choice themselves. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@zZHorizonZz I personally think it would be good to not include yarn in this variant by default since it's new and wouldn't break anything but I could see people wanting the variants to be consistent. I will let others weigh in on this. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Yeah, the reason why I'm even discussing this is because of this issue you created, where I see an inclination to not just include yarn even in linux images, or create an image variant with yarn pre-installed. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Looks like this will address #2063. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 3 out of 9 changed files in this pull request and generated 2 suggestions.
genMatrix.js:22
const getNodeVerionDirs = (base) => getChildDirectories(base)
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| ]; | ||
|
|
||
| const nodeDirRegex = /^\d+$/; | ||
| // Directories starting with 'windowsservercore-' are excluded from the matrix windows-2019 are excluded for example |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] The phrase 'windows-2019 are excluded for example' seems to be a typo and should be rephrased for clarity.
| // Directories starting with 'windowsservercore-' are excluded from the matrix windows-2019 are excluded for example | |
| // Directories starting with 'windowsservercore-' are excluded; 'windows-2019' is an example |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| .some((file) => testFiles.includes(file)); | ||
|
|
||
| // Returns a list of the child directories in the given path | ||
| // Returns a list of the child directories in the given path, excluding those starting with 'windows-' |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] The comment should be 'excluding those starting with 'windowsservercore-'.
| // Returns a list of the child directories in the given path, excluding those starting with 'windows-' | |
| // Returns a list of the child directories in the given path, excluding those starting with 'windowsservercore-' |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Should I fix the nitpicks that Copilot made? I haven't really used this on GitHub, but there are commit suggestion actions available for both of these. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I would suggest using nanoserver instead of servercore as it's much lighter.. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This PR hasn't been worked on in over a year. What's the process for handling stale PRs? I'm still interested in this, but I don't have the chops to carry it forward. Or has another solution for Windows images been implemented and I'm just unaware? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This PR is very outdated. It's around 482 commits behind the default branch and not surprisingly has multiple conflicts. Adding Windows images would be a major change and that would need feedback from the current members of the Node.js Docker team. Moving to draft, pending further review / action. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Closing, as stale, outdated and having conflicts. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.