Skip to content

Latest commit

 

History

History
28 lines (26 loc) · 3.72 KB

creating-a-release.md

File metadata and controls

28 lines (26 loc) · 3.72 KB

Doing a release

A release involves various steps which are outlined here and should be kept up-to-date

. Make sure nobody pushes to the master during a release e.g. announce that you do a release . Make sure you have GPG installed and the executable is available on PATH . Make sure your Maven settings.xml has credentials for the server sonatype-nexus-staging configured . Make sure your Maven settings.xml has a profile called blazebit-release with the property gpg.passphrase . Make sure your JAVA_HOME points to a JDK 8 with e.g. set JAVA_HOME="C:\Program Files\Java\jdk-14" or $env:JAVA_HOME="C:\Program Files\Java\jdk-14" . Make sure your MAVEN_OPTS contain a memory configuration with a big heap size with e.g. set MAVEN_OPTS="-Xmx1536m -XX:MaxMetaspaceSize=512m" or $env:MAVEN_OPTS="-Xmx1536m -XX:MaxMetaspaceSize=512m" . Edit the README.md and update the property blaze-persistence.version to the latest released version, also update the archetype versions for the quick-starts . Make sure CHANGELOG.md contains all relevant changes and links to the release tags in GitHub, prepare the next changelog entry for the next version . Check the roadmap.asciidoc and add big ticket features that might have been added during development but forgotten to be included there . Open website/src/main/jbake/content/downloads.adoc and update the releases table for the released branch . Create website/src/main/jbake/content/news/CURRENT_YEAR/blaze-persistence-VERSION-release.adoc that contains a list of fixed issues that are interesting i.e. no issues that were created while fixing other issues or documentation issues . Open website/src/main/jbake/jbake.properties and update stable.version to the latest released version . Open website/pom.xml and update the property stable.version to the latest released version, snapshot.version to the latest snapshot version and series.version to the current version series . Open documentation/pom.xml and update the property stable.version to the latest released version and series.version to the current version series . Prepare a local Maven release via mvn "-Pblazebit-release" release:clean release:prepare "-Darguments=-DskipTests -DskipITs '-Djdk8.home=C:\Program Files\Java\jdk1.8.0_181'" . Actually deploy the release with mvn "-Pblazebit-release" release:perform "-Darguments=-DskipTests -DskipITs '-Djdk8.home=C:\Program Files\Java\jdk1.8.0_181'" . Goto https://oss.sonatype.org and login. In Build Promotion click on Staging Repositories then scroll down and find a repository named comblazebit-... . Click on the repository, then click Close and Confirm. Wait a few seconds, click Refresh and finally click Release and Confirm . Commit the changes and push the branch git push origin, as well as the created tag git push origin TAG . Create a GitHub release from the tag and use the same content as in website/src/main/jbake/content/news/CURRENT_YEAR/blaze-persistence-VERSION-release.adoc and add the tar.gz and zip artifacts of blaze-persistence-distribution as binaries to the release . Push the new website changes only if you are working on the latest version series and first to the staging server by invoking ./build-deploy-website.sh staging '-Djdk8.home=C:\Program Files\Java\jdk1.8.0_181' and if everything is alright push to production with ./build-deploy-website.sh prod '-Djdk8.home=C:\Program Files\Java\jdk1.8.0_181' . If you want to push just the documentation changes use ./build-deploy-documentation.sh staging '-Djdk8.home=C:\Program Files\Java\jdk1.8.0_181' and if everything is alright also push to production with ./build-deploy-documentation.sh prod '-Djdk8.home=C:\Program Files\Java\jdk1.8.0_181' . Create tweet about new version