Skip to content

How to make release

Roman Ivanov edited this page May 14, 2019 · 68 revisions

0) NOT ALWAYS REQUIRED: Update version ONLY in case main project released BUG fixes (not a minor version bump).

mvn versions:set -DnewVersion=4.10.1-SNAPSHOT && mvn versions:commit
git add pom.xml checkstyle-all/pom.xml checkstyle-sonar-plugin/pom.xml
git commit -m "config: update to 4.10.1-SNAPSHOT" && git push

1) Test it first. https://github.com/checkstyle/sonar-checkstyle/wiki/How-to-test-released-binary

1.1) Push all to remote and wait for CI to be green. Checkstyle version update require update in root [pom.xml[(https://github.com/checkstyle/sonar-checkstyle/blob/master/pom.xml#L7) only. Close issue for checkstyle upgrade. Do not forget update README file with new version in table.

1.2) Recheck that there are no Bugs and Vulnerabilities at https://sonarcloud.io/dashboard?id=checkstyle_sonar-checkstyle. It is mandatory to pass the gate level for deploying to the Sonar Update Center.

2) Generate release notes.

git log --pretty=oneline --abbrev-commit $(git rev-list --tags --max-count=1)..HEAD \
   | grep -vE "minor|doc|config|maven-release-plugin" | sed 's/^....... //'

2.2) Update README file for new version.

3) Bump version.

mvn release:prepare release:clean -B

4) Make a released binary JAR.

git checkout $(git rev-list --tags --max-count=1)
mvn clean package
git checkout master

5) Upload binary file and UPDATE release notes at GitHub page. https://github.com/checkstyle/sonar-checkstyle/releases

5.1) Close milestone, a new is required. https://github.com/checkstyle/sonar-checkstyle/milestones

5.2) NOT ALWAYS REQUIRED: Restore version to major in case there was bug fix release

mvn versions:set -DnewVersion=4.11-SNAPSHOT && mvn versions:commit
git add pom.xml checkstyle-all/pom.xml checkstyle-sonar-plugin/pom.xml
git commit -m "config: update to 4.11-SNAPSHOT" && git push

6) Announcements

7.1) Release PR to SonarQube Make a release PR to https://github.com/SonarSource/sonar-update-center-properties. Example: https://github.com/SonarSource/sonar-update-center-properties/pull/11

7.2) Release post to SonarQube Post a [NEW RELEASE] message to the SonarSource Community forum: https://community.sonarsource.com/c/plugins. It has to contain:

Reference for SonarCloud release process: https://docs.sonarqube.org/display/DEV/Deploying+to+the+Marketplace#DeployingtotheMarketplace-Announcingnewreleases