-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Releasing
Marc Philipp edited this page Sep 8, 2019
·
66 revisions
- 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 theKitchenSinkExtension
in order to perform a manual inspection with the aid of a pair of human eyes.
- Release @API Guardian and change
apiGuardianVersion
ingradle.properties
accordingly, if necessary. - Release ota4j and change
ota4jVersion
ingradle.properties
accordingly, if necessary.
- Change
version
,platformVersion
, andvintageVersion
ingradle.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 build publish
- 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+.
- The branch must be the same as for the
- 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
- Prepare Git:
git config --global commit.gpgsign false && git config --global user.email $YOUR_EMAIL
- Generate and upload docs
- For GA releases:
./gradlew --no-daemon -PreleaseBranch=r5.0.0 -PreplaceCurrentDocs clean gitPublishPush
- For milestones/RCs:
./gradlew --no-daemon -PreleaseBranch=r5.0.0-M1 clean gitPublishPush
- The
releaseBranch
must match the previously created tag.
- For GA releases:
- Restore old Git settings:
git config --global commit.gpgsign true && git config --global --unset user.email
- Prepare Git:
- Sanity check that the generated PDF for the User Guide is not corrupt
- Change
version
,platformVersion
, andvintageVersion
properties ingradle.properties
inmaster
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
- Drink some beer until release is on Maven central 🍻
- Update "Current Versions" section in
index.html
with new vesions on branchgh-pages
- Push samples release branch and master, if applicable, to GitHub
- Tweet about the new release from junitteam