Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Prerequisites

  • The continuous integration job does not fail.
  • The JIRA issues included in the release are closed.
  • Check the The source code quality of the plugin. The  must be acceptable: the SQALE index must be A, and the SQALE remediation factor must not increase between two releases.
  • A dedicated page is created for the plugin in the wiki.

Call a Vote

Before a release can occur, a vote typically takes must take place.

The snapshot version to be tested must be publicly available. If the plugin is hosted on:

...

vote is initiated by sending an email to dev@sonar.codehaus.org and user@sonar.codehaus.org:

...

    • an explanation of the plugin, status, and any other info you feel is relevant. 

The standard is to wait 72 hours for responses. This gives other developers and users time to test the plugin before placing their vote. Votes are represented as numbers between -1 and +1, with -1 meaning 'no' and +1 meaning 'yes.'and provide feedback. Each plugin committer gets one vote: -1 meaning "no" or +1 meaning "yes." Only SonarQube plugin committers can vote. The first release requires three +1's and no -1. Then vote is adopted 's. For subsequent releases, the vote can be passed by lazy consensus for next releases. It passes if it doesn't have any -1: it passes if there are no -1's.

Release

  • Close the vote on the dev mailing-list: respond to your earlier [VOTE] post, announcing that the vote is closed and who the voters were, or that the vote passes by lazy concensus
  • Check the prerequisites
  • Set your Codehaus username/password in Maven settings.xml:

    Code Block
    titlesettings.xml
    langxml
    <settings>
      <servers>
        <server>
          <id>codehaus.org</id>
          <username>CODEHAUS_LOGIN</username>
          <password>CODEHAUS_PASSWORD</password>
        </server>
      </servers>
    </settings>
    
  • Install Codehaus SSL certificates into JDK
  • Deploy the plugin to the Maven central repository by executing the following command with default values:

    Code Block
    mvn release:prepare release:perform
  • Send an email to dev@sonar.codehaus.org to ask for the release of the version in JIRA
  • Update the Change Log section on the wiki plugin page by adding a JIRA Issues macro. Use the following properties:
    • JIRA Field Columns to Display: type;key;summary;priority
    • Cache: on
    • Anonymous Retrieval: checked
    • Width: 900
    • Height: <leave it empty>
    • Title: Release X.X
    • Render Mode: static
  • If it is the first release of the plugin, add it to the Plugin Library page
  • Update the Version compatibility matrix page
  • If a sonar-example is available, ask to update the plugin version that the technical release be completed (this updates the wiki page header, closes the JIRA version and makes the new version available in the Update Center).
    • Subject: [RELEASE REQUEST] Plugin Name & version
    • Body contains:
      • Short description: A few words about what's new in this version.
      • Documentation status: should be done, tell us about progression and ETA if needed.
      • Sonarqube compatibility: unchanged or specific versions.
      • Link to jira release notes.
      • Notes: Any additional information you feel is needed, including:
        •  whether or not the Maven release needs to be performed.
        • If a sonar-example is available, ask to have the the plugin version updated in the validation.txt file
  • Announce If it is the first release on the mailing-lists: announce@sonar.codehaus.org, user@sonar.codehaus.org and dev@sonar.codehaus.org (you must subscribe to these lists in xircles)of the plugin, add it to the Plugin Library page
  • Send an email to dev@sonar.codehaus.org to ask for adding the release to the Update Center and to update the header on the wiki plugin page. This redundant step will be improved later. documentation@sonarsource.com with the message of the announcement so that SonarSource can publish it on the plugins feed.
  • Tweet (big grin)