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 script didn't create signature files #2059

Closed
MylesBorins opened this issue Nov 21, 2019 · 7 comments
Closed

Release script didn't create signature files #2059

MylesBorins opened this issue Nov 21, 2019 · 7 comments

Comments

@MylesBorins
Copy link
Contributor

the release seemed to go off without a hitch but SHASUMS256.txt.asc was not created or uploaded to the server and failed silently. I had to manually create the file and upload by hand.

Refs: nodejs/nodejs.org#2795
Refs: https://twitter.com/hichaelmart/status/1197641843896442881

@rvagg
Copy link
Member

rvagg commented Nov 22, 2019

I think what's probably happening is that the set -e in release.sh is doing its thing but its non-obvious to a user running the script. This is where signing is supposed to happen: https://github.com/nodejs/node/blob/b8f8f0500213e7347d92465dd5120f632c05e253/tools/release.sh#L203-L207

So it's checking for a non-zero exit code before signing. But it's probably not even getting there, if there's an upload failure then the script probably bails with a non-zero exit code and that's not clear to the person running the script - although you should have seen an error from that ssh promote command I would think.

Maybe what we need to try in there is replace the set -e with something like

onerror() {
  echo "*** ERROR occurred at line $(caller) ***" >&2
}

trap onerror ERR

Would someone mind tackling that?

It doesn't answer the question of what failed in the first place with that ssh ... promote, I hope nothing else is missing from the release!

Re "manually" redoing it, the script has a -s option that lets you sign an existing release, see note at the top of the file. I don't remember why that was needed, I think it's supposed to be redundant now and signing should just happen--you'll see a path down lower in the script where if signversion is present it'll just sign, otherwise it'll do everything else and then sign.

I don't do releases anymore so it's difficult for me to even test this workflow. I'd like for @nodejs/releasers to take more ownership of release.sh and make it do what they need and work like they want. There's obviously stuff on the server that it needs to interact with so there needs to be Build interaction and expertise on that, but it can all be found at:

Perhaps we need to start a workflow doc somewhere to document what's doing what so y'all can start fixing and changing what you need?

@BridgeAR
Copy link
Member

BridgeAR commented Dec 3, 2019

We definitely have to address this soon. Doing this manually is pretty bad.

@rvagg
Copy link
Member

rvagg commented Dec 4, 2019

Doing this manually is pretty bad.

again, why are you doing it manually? what's not working in the process? The thing my comment is addressing is dealing with a failure in the process but it doesn't answer what's failing.

@nodejs/releasers when you're releasing next time, please be on the lookout for anything that looks abnormal, a warning or an error or anything out of the ordinary.

In the meantime, you're welcome to fix the script @BridgeAR.

@BridgeAR
Copy link
Member

BridgeAR commented Dec 4, 2019

@rvagg I guess the only issue is in the release post script, not with the signature being uploaded. At least that's how it seems to me.

The file has been created successfully automatically, it was just not taken into account while creating the blog post.

@mhdawson
Copy link
Member

mhdawson commented Dec 5, 2019

@BethGriggs maybe you can add to the Release team agenda to discuss how the releasers might be able to help out on this front. I think getting to the point where the releasers can help maintain the script makes sense as they are both the most familiar/able to test it out and at the same time the most impacted by problems.

@MylesBorins
Copy link
Contributor Author

MylesBorins commented Dec 6, 2019 via email

@mhart
Copy link

mhart commented Feb 6, 2020

Looks like this happened again with v13.8.0. https://nodejs.org/dist/v13.8.0/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants