-
Notifications
You must be signed in to change notification settings - Fork 77
Release Procedure
-
Check the queue for any PR’s that seem like that might be important for the release and review/merge them.
-
Ensure you’ve got a fresh environment.
git fetch upstream git reset --hard upstream/${branch}
-
Do a build locally to make sure all is working as expected. Note, you should define the
-Dmaven.repo.local=
property and point it to a clean local maven repostory.mvn clean install -DskipTests -Pjboss-release -Dmaven.repo.local=/tmp/m2/repository
-
If successful, update the version to the next release. The simplest way to do this is in your IDE. Note though you should likely do a
mvn clean -Prelease
first to not update things in thetarget
directory. -
git diff
to see the diff and make sure it looks okay. -
Again do a build to make sure everything builds
mvn clean install -DskipTests -Pjboss-release -Dmaven.repo.local=/tmp/m2/repository
-
If everything looks okay, commit the changes
git commit -s -S -a -m "Prepare for ${newVersion} release"
-
Next we need to merge the commit in the branch we’re releasing on.
git checkout $branch git merge --ff-only $releaseBranch
-
Do one more build from the releasing branch, e.g. main in or another version branch. This will build the documentation we need.
mvn clean install -DskipTests -Pjboss-release -Dmaven.repo.local=/tmp/m2/repository
-
We can now deploy to JBoss Nexus
mvn deploy -DskipTests -Pjboss-release -Dmaven.repo.local=$HOME/tmp/m2/repository
-
Log into the Nexus, validate the release looks okay and close the repository.
-
Create a tag for the new release
git tag ${newVersion}
-
At this stage your Nexus repository should be ready to be relased. Release the repository.
-
Update the release version to the next SNAPSHOT version,
${nextVersion}
. -
Run the same steps to check that changes and commit the new release. The commit text should be something like "Next is ${nextVersion}".
-
Push the tag and branch up to GitHub
git push upstream --tags