Skip to content
Marc Philipp edited this page Apr 29, 2018 · 63 revisions

Preparations

  • Ensure the composability of all extension APIs in JUnit Jupiter.
    • Requirements: A concrete extension must be able to implement all extension APIs supported by JUnit Jupiter without any naming conflicts or ambiguities with regard to method names or method signatures.
    • Manual inspection: although ExtensionComposabilityTests should catch any violations of the above requirements, it is recommended to update the KitchenSinkExtension in order to perform a manual inspection with the aid of a pair of human eyes.
  • Release @API Guardian and change apiGuardianVersion in gradle.properties accordingly, if necessary.
  • Release ota4j and change ota4jVersion in gradle.properties accordingly, if necessary.

Release

  • Change version, platformVersion, and vintageVersion in gradle.properties to the versions about to be released
  • Change release date in Release Notes
  • Change release date and artifact versions in README.MD
  • Commit with message "Release ${VERSION}"
  • Execute ./gradlew clean uploadArchives
  • Sanity check the actual contents of the generated Maven POMs
  • Update junit5-samples to use released version and create a branch for the released version (e.g. r5.0.0-M1)
    • The branch must be the same as for the junit5 repo; otherwise, links in the User Guide will be broken.
    • Run build-all-samples.jsh to ensure there's no error reported -- works best with JDK 10+.
  • Ensure the artifacts in the staging repo can be consumed using Gradle and Maven
  • Close staging repo on Nexus
  • Release staging repo on Nexus
  • Tag current commit (e.g. r5.0.0-M1)
  • Publish Javadoc and User Guide to GitHub pages
    • For GA releases: ./gradlew -PreleaseBranch=r5.0.0 -PreplaceCurrentDocs clean gitPublishPush
    • For milestones/RCs: ./gradlew -PreleaseBranch=r5.0.0-M1 clean gitPublishPush
    • The releaseBranch must match the previously created tag.
  • Change version, platformVersion, and vintageVersion properties in gradle.properties in master to new development versions and commit with message "Back to snapshots for further development" or similar
  • Push master and all tags to GitHub
  • Edit release description on GitHub: Link to User Guide and Javadoc for current version
  • Close milestone in GitHub issues
  • Tweet about the new release from junitteam