Uploaded image for project: 'Maven Release Plugin'
  1. Maven Release Plugin
  2. MRELEASE-938

Need better support for staging release candidates with git and Nexus

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Reopened
    • Major
    • Resolution: Unresolved
    • None
    • waiting-for-feedback
    • None
    • None

    Description

      Use case:

      An ASF project creates git tags which are GPG-signed named "rel/<version>" after a release is voted on. If the release passes, the contents of the pom.xml files should refer to this final tag, and not any intermediate release candidate tag name.

      To avoid pushing the release prior to building a release candidate and publishing it to the staging maven repository, the configuration sets <pushChanges>false</pushChanges> and <localCheckout>true</localCheckout>, and the tag name is created with <tagNameFormat>rel/@{project.version}</tagNameFormat>.

      There is still a risk of a release manager accidentally pushing the tag created by the maven-release-plugin, which has the final name, but is not GPG signed, and should not be pushed, because it cannot (and should not) change once it is.

      What might be useful here is an alternate, intermediate name, @{project.version} which can be used as the checkout tag for the perform step.

      Alternatively, no tag actually has to be created in this case (a GPG-signed tag is manually created later). Unless suppressCommitBeforeTag is set, the perform step can check out from HEAD~1, instead. An option to skip tag creation entirely could work under these circumstances.

      Attachments

        Activity

          People

            Unassigned Unassigned
            ctubbsii Christopher Tubbs
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated: