-
Notifications
You must be signed in to change notification settings - Fork 70
How to make release
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)
- Send email announcement to the Checkstyle https://groups.google.com/forum/#!forum/checkstyle-announce mailing list.
- Submit SourceForge https://sourceforge.net/p/checkstyle/news/.
- Put news in twitter: https://twitter.com/checkstyle_java .
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:
- Short description
- SonarQube compatibility
- SonarCloud project dashboard
- Link to PR Example: https://community.sonarsource.com/t/new-release-sonar-checkstyle-4-20/9744
Reference for SonarCloud release process: https://docs.sonarqube.org/display/DEV/Deploying+to+the+Marketplace#DeployingtotheMarketplace-Announcingnewreleases