-
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
file and directory names for downloads #515
Comments
Lets try and put forward something to discuss at that meeting; for instance a suggestion on how we want it to be? This needs to be streamlined with our jenkins config as well as |
so I think we need
and of course thoughts? |
@thealphanerd Especially if |
I think it would be valuable to agree to the release process on this and document it... then stick to it /cc @nodejs/release |
From ci-release point of view we also have custom builds (which is sort of abused atm) to generate from other branches. |
My ideal scenario, whatever terminology we decide, would be one where the directory name and filename suffix were in sync, and were updated historically for all previous releases that had RCs (using symlinks on the server for this is an implementation detail, and fine) I'm also fine with "RC", "beta", "test", and "nightly" - four branches theoretically is no harder than two, especially if they're consistent across both io.js and node versions. While it might be unusual for someone to want old RCs etc, I think the continuity is important both for my testing, and to allow for 100% phaseout of any older terminology. |
I guess the problem is what to do about (for example) old "RCs". OK, so we can symlink or whatever and have them called betas instead. But we can't break the existing URLs for the files that contain an "rc" directory and an "rc" suffix. So they will forever be non-RC RC releases that are available. Maybe I'm overthinking it and that's just not a problem. Like, hey, it's available as an RC and a beta and it's the same thing and that's just a historical quirk, so deal with it if you're one of the three people who will be affected by that? I'm not sure. |
I don't think it will be a problem, especially if most people end up using You could always include a README in the old directories that explains the change, and that these are deprecated? |
This stalled. I'm going to close it. If someone else wants to pick it up and advocate for it, leave a comment, or re-open (if GitHub lets you), or open a new issue. Sorry/thanks. |
:-/ it stalled, but I have no idea why, nor what/who was missing to make progress on it. Any guidance? |
@ljharb If you're willing to advocate, maybe the thing to do is put it back on the Build WG agenda and invite you as a guest. The last time it was on the agenda (in March), the minutes just say that the conversation should continue in GitHub. I don't think it's on anyone's radar. Having someone at the meeting who cares about it and can explain the value (and pitfalls) would probably help push it along, or at least document an explanation as to why it won't happen or isn't happening for now. |
That sounds great; please loop me in and I'll do my utmost to attend. |
FYI a lot of this naming stuff is hard-coded in Node's Makefile. Look for the bug The state we have now is that we have this awkward push and pull that goes on between Makefile, Jenkins and the promote scripts. In Jenkins we have this duplicated for each of the release build scripts (including a Windows variant): RELEASE_URLBASE=https://nodejs.org/download/${disttype}/
if [ "X${disttype}" == "Xtest" ]; then
disttype=custom
CUSTOMTAG="test${datestring}${commit}"
RELEASE_URLBASE=https://nodejs.org/download/test/
elif [ "X${disttype}" == "Xv8-canary" ]; then
disttype=custom
CUSTOMTAG="v8-canary${datestring}${commit}"
RELEASE_URLBASE=https://nodejs.org/download/v8-canary/
elif [ "X${disttype}" == "Xrc" ]; then
disttype=custom
CUSTOMTAG="rc.$rc"
RELEASE_URLBASE=https://nodejs.org/download/rc/
fi i.e. we are overloading "custom" in Makefile to introduce these new types (test, v8-canary and rc), meanwhile Makefile handles "release", "nightly" and "next-nightly" (which we don't even use). What I'd like to see is a complete overhaul of all of these 3 things, particularly yanking out that stuff in Makefile and replacing it with something much more simple and generic that we can bend to our will whenever we want to do something new, probably in Jenkins with some simple env vars. Having to get changes into nodejs/node to make this happen is pretty annoying and there's not a whole lot people confident enough to review Makefile changes anyway. While we're at it we can fix the long-standing |
@ljharb can you make the next meeting on 6th of February at 4EST ? |
@mhdawson absolutely; please add my gmail to the meeting and I'll calendar it. |
Per the WG meeting, @nodejs/version-management will come up with a concrete proposal, and will bring it back to interested parties. |
I'm inclined to close this until a concrete proposal comes back. If anyone thinks that's A Bad Idea, feel free to re-open or leave a comment here requesting that this be re-opened. |
Let's revisit the file naming and redirects for the downloads directory in an effort to hopefully set users up for maximum future success.
Some things to note:
rc
directory with a-rc
suffix. The problem: They weren't RCs. So we renamed thembeta
. Hooray! But they ended up in atest
directory. What? Boo!nvm
./cc @ljharb for
nvm
implications and what would be ideal ifnvm
were to support betas. (What symlink/redirect stuff would be required? How would the directory/filename layout look ideally. That sort of thing.)/cc @jasnell as this would affect releases...
It would be great if as much relevant information as possible were put here, of course. But also, when we discuss this at a Build WG meeting (if that is necessary, which I suspect it will be if we want to move on this quickly), it would be great if we could arrange to make sure that both @ljharb and @jasnell could be there.
The text was updated successfully, but these errors were encountered: