How to perform a release
The following process applies to any release, including milestones, release candidates and final. I have not got it working on Windows. Other OS is fine.
- Prepare the release
- Clone the MicroProfile Config master repository
- Run the prepare_release.sh script (specify required env vars before) - it should create a tag and push it to the upstream repository
- export RELEASE_VERSION=1.0-RC3
- export DEV_VERSION=1.0-SNAPSHOT
- export GIT_USER='John Doe'
- export GIT_EMAILfirstname.lastname@example.org'
- Deploy artifacts into Eclipse repository
- Logon to Jenkins (register for an account if you don't have a Jenkins account)
- Go to https://ci.eclipse.org/microprofile/job/CONFIG-deploy-prerelease-artifacts/ and then click on "Build with Parameters"
- Download the PDF document from the Jenkins job and from in the workspace and copy it to github release page (this step could be removed if we release it to a maven repo)
- Notify MicroProfile community about the new version
How to perform a release of a final version
Do the steps above for a release candidate, except increase the development version instead of leaving it the same as before
If a release candidate is approved, it can be turned into final
- Run the above steps for the final version, but:
- set BASE_REVISION variable to the name of the release candidate tag
- increase DEV_VERSION to point to the next snapshot version
- Publish the final artifact to Maven central - follow instructions in the script deploy_to_maven_central.sh
- announce the final version
- increase the snapshot version in master: merge the intermediary branch branch_$RELEASE_VERSION created locally by the script to master and push master:
- git checkout master
- git merge branch_$RELEASE_VERSION
- git push origin master