-
Notifications
You must be signed in to change notification settings - Fork 166
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
tools: add download testing #804
Conversation
updated PTAL |
Started building the CI job, noted a few issues in earlier comments. What I think would also be useful is if it could take an option like "latest" which would figure out the latest for a give release line. That we won't have to update the job as new releases come out. Generally I'm thinking we'll only need to be testing the latest. |
still getting this
|
@mhdawson should be fixed now if you want to re-run? |
CI job here for reference: https://ci.nodejs.org/view/All/job/validate-downloads/ |
I think the robot.txt is not allowing recursive download. We may need to parse the index.html to get links individually and then download them.
|
ok, the latest script line |
Ok, so seems to run but I am seeing this ./build/tools/download-test.sh: line 36: [: !=: unary operator expected @gdams I'd also like to be able to be able to specify something like 8.latest and have it figure out the latest version. |
Worth noting that unencrypted.nodejs.org is currently on a 15 minute cron to update its binaries from the main server, that may need to be taken into account if this tool is for automating something close to release. The 15 minute number is arbitrary and could be changed if needed fwiw, it's even possible that we could use a flag mechanism to trigger a sync when a release is promoted so it's near instant, although that's a bit more complicated obviously. |
@gdams when I said tools in #513 (comment) I linked to the |
@gibfahn I was asked by @mhdawson to move to over to |
@gdams ahh, don't know how I missed that PR. I'll comment over there. |
Now that I'm back I'd like to move forward on this. @gdams have you had time to look at my suggestions for it being able to automatically run using the latest release ? |
e06d61d
to
2e377a6
Compare
@rvagg @jbergstroem any input on whether you think this best fits in the build or core node repo ? My feeling is the build repo but I could be convinced as @gibfahn suggests that it go into the core node repo. |
Seems like a reasonable case could be made either way. If it's in nodejs/node then others could run it independently to confirm. @mhdawson can you explain how the CI job runs? I can't quite work it out. It runs on a schedule but does that mean it's grabbing the latest version every hour to confirm? Also, you may want to make it run on |
just saw the description in #513 about how the script works, fine by me. I've changed restrict nodes from |
2e377a6
to
97bbc70
Compare
@rvagg thanks for the change to where it runs, I was wondering what the best machines would be. |
Yeah it's a tricky one. Would be good to get opinions from more people in @nodejs/build. |
My opinion on this is that The way I would have done this would be directly in a Jenkins job script. We have backups of the server, so it would be safe. However, it would not be public and easily reviewable, but that again links to the discussion about reviewing the jobs source. Since this is already done as a script, I don't see why not land it here. |
@gibfahn I thinking from your +1 on @joaocgreis' comment that you are now ok with landing this this repo ? If so I assume we just need @gdams to address your latest review comments and we'll be good to land ? |
I don't think this applies to a lot of things in nodejs/node:tools/.
Yeah I think putting things in a Jenkins script is the worst possible option (we can't review, there may be backups but in my experience they aren't as easy to version control as git, it's hidden by default). I'm -0 on it, yes. If we're going to do this I'd like us to decide where we're going to put these kinds of scripts, and maybe move more out of Jenkins configs and into this repo. IDK if Given that we have a meeting on Tuesday, we could probably talk about this there (in particular the general question of where files like this should go). I'll add it to the agenda. |
In my opinion, it should. But I have no strong feelings about this. Let's discuss at the meeting. |
97bbc70
to
15cb9e6
Compare
@gibfahn updated PTAL |
15cb9e6
to
b92e26f
Compare
This script will take an environment variable (NODE_VERSION) and download all of the files from `http://nodejs.org/dist/v<NODE_VERSION>/` It will then loop through the `SHASUMS256.txt` file to check if the SHA256SUMS match up. Initial issue here: nodejs#513
b92e26f
to
78d8b7d
Compare
@gibfahn updated PTAL |
@nodejs/build any other issues? If not I'll land this later today. |
remember that the download testing job needs to be updated with the new path |
About to land and then fix up the testing job as its already broken since it uses the branch :) |
This script will take an environment variable (NODE_VERSION) and download all of the files from `http://nodejs.org/dist/v<NODE_VERSION>/` It will then loop through the `SHASUMS256.txt` file to check if the SHA256SUMS match up. Initial issue here: #513 PR-URL: #804 Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Rod Vagg <rod@vagg.org>
Landed as 365c785 Jobs fixed up. Still need to discuss email notifications but we can do that in the original issue as opposed to this PR so closing. |
This script will take an environment variable (NODE_VERSION) and
download all of the files from
rsync://unencrypted.nodejs.org/nodejs/release/v<NODE_VERSION>/
It will then loop through the
SHASUMS256.txt
file to check if theSHA256SUMS match up. Initial issue here: #513