fernandreu / office-ribbonx-editor

An overhauled fork of the original Custom UI Editor for Microsoft Office, built with WPF
MIT License
523 stars 103 forks source link

Invert Git tag / release build behaviour #90

Closed fernandreu closed 4 years ago

fernandreu commented 4 years ago

As it stands, a new Git tag needs to be created manually before each release, which then triggers the actual release process.

It would be more convenient if any build could be promoted to a release instead. The process would then be:

  1. Do a preliminary check about the assembly version declared in SharedAssemblyInfo.cs. If it is the same as the last Git tag, skip the rest of the release process (i.e. no GitHub release possible)
  2. Have a manual gate at some point where it gets decided whether to do the full release or not
  3. Once it is confirmed that the release is good to go (i.e. uploaded to GitHub even if as a draft), create the Git tag automatically. The build that this would generate would be irrelevant

One of the consequences will be that, if the build has any issue, there will be no need to delete the Git tag (both locally and on GitHub, then push it again after a new commit.

fernandreu commented 4 years ago

The multi-stage pipelines are not quite there yet in terms of functionality, as you cannot cancel one stage waiting for approval without causing the build to fail. Until this can be done, the release process will be part of a separate pipeline.