yaorg / node-measured

A Node metrics library for measuring and reporting application-level metrics, inspired by Coda Hale, Yammer Inc's Dropwizard Metrics Libraries
https://yaorg.github.io/node-measured/
MIT License
517 stars 52 forks source link

docs: document release process #66

Closed csabapalfi closed 5 years ago

csabapalfi commented 5 years ago

Hi @fieldju,

Apologies about the issues around #64. I'm not sure if I understand the current release process and somehow Travis kept adding tags so I cancelled the last build.

Probably the root cause is that I manually created a tag? Is there any documentation about how the release process works?

fieldju commented 5 years ago

@csabapalfi I am traveling right now for Memorial Day weekend here in the states. I will investigate what happened sometime this weekend or possibly Tuesday after I get back home.

csabapalfi commented 5 years ago

Ah, ok. It’s a long weekend in the UK as well. 😊

csabapalfi commented 5 years ago

I believe we might have an issue with relying on curl https://github.com/yaorg/node-measured/releases/latest as that might return draft releases as well (i.e. as soon as you draft a release it creates the tag and triggers Travis).

I think what confused the publish script was a draft release for v1.42.0 that still was returned as latest (even after my v1.43.0) hence the never ending release version mismatch and Travis being triggered repeatedly.

csabapalfi commented 5 years ago

Basically we just have to be mindful that even if a draft release is created on Github it'll trigger the Travis build since the tag is already created and that can lead to confusion one i.e. if the draft release is then published or any other release gets created in the meantime.

fieldju commented 5 years ago

I think we can come up with better logic that will prevent the infinite release bug. I approved the PR documenting the warning as well as the release process. I will take a look at the script / APIs available to see if there is some more rails we can stand up to prevent run away releases.