Skip to content

How to make release

Daniel Mühlbachler edited this page Jan 31, 2020 · 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 only. Close issue for checkstyle upgrade.

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 in pom.xml for non-snapshot usage and prepare for release.

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 (optional, deprecated)

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/15

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