sociomantic-tsunami / neptune

Sociomantic library versioning definitions, guides, and tools
Boost Software License 1.0
1 stars 15 forks source link

If no release notes, open the editor to enter some. #113

Open nemanja-boric-sociomantic opened 7 years ago

nemanja-boric-sociomantic commented 7 years ago

There can be peculiar case of minor release with no release notes - for example, it might be created just to escape deprecations, but the release notes were not put with the PR. neptune-relase will not allow making a release until there are no release notes.

This forces creating two extra commits, one to add and one to remove the relnotes.

Perhaps it should open the editor and get the release notes from the user for the tag/email purposes.

leandro-lucarella-sociomantic commented 7 years ago

Looks quite related to #109. I'm not sure if the extra notes should be committed though. Are they being committed at all? I thought they were only put in the GitHub release.

In any case, I think it would be nice to be able to edit the e-mail as a separate step from the release notes. The release notes are something that will stick forever, while the e-mail could be more informal.

But again, this is very close to #109. I wonder if we should merge both issues, because the solution should probably cover both cases and be consistent.

gavin-norman-sociomantic commented 6 years ago

This causes an assert to fire, in the current release (0.0.1-xenial):

/devel/dhtproto-tsunami:v13.x.x %=$ neptune-release 
We are on branch v13.x.x
Detected release v13.5.0
List of ingored non-semver branches: ["neo-v0.x.x", "neo-v0.5.x", "neo-v0.6.x"]
Actions to be done:
 * Creating annotated tag v13.5.0 (git tag --cleanup=verbatim -F- v13.5.0 v13.x.x)
 * Create tracking branch v13.5.x (git branch v13.5.x v13.5.0)
 * Checkout v14.x.x locally (git checkout v14.x.x)
 * Merge v13.5.0 into v14.x.x (git merge --no-ff -m Merge tag v13.5.0 into v14.x.x v13.5.0)
 * Checkout previous branch v13.x.x (git checkout v13.x.x)
 * Removing release notes (git rm)
 * Commiting removal of release notes (git commit -m Clear release notes after release)
 * Checkout next branch v14.x.x (git checkout v14.x.x)
 * Creating annotated tag v14.3.0 (git tag --cleanup=verbatim -F- v14.3.0 v14.x.x)
 * Create tracking branch v14.3.x (git branch v14.3.x v14.3.0)
 * Removing release notes (git rm)
 * Commiting removal of release notes (git commit -m Clear release notes after release)
 * Checkout original branch v13.x.x (git checkout v13.x.x)

Would you like to continue? y/n: y

Creating annotated tag v13.5.0 ...
    git tag --cleanup=verbatim -F- v13.5.0 v13.x.x
core.exception.AssertError@./src/release/releaseHelper.d(87): No release notes found?!
----------------
??:? _d_assert_msg [0x9dd296]
./src/release/releaseHelper.d:87 immutable(char)[] release.releaseHelper.ReleaseAction.execute() [0x895142]
/home/travis/build/sociomantic-tsunami/neptune/src/release/main.d:147 _Dmain [0x7702c2]