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 spec repo e.g. MicroProfile Config master repository
- Run the release script, which can be found under perform_release folder in the repo. e.g. 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-RC1
- export DEV_VERSION=1.0-SNAPSHOT
- export GIT_USER='John Doe'
- export GIT_EMAILemail@example.com'
- Deploy artifacts into Eclipse repository
- Logon to Jenkins (register for an account if you don't have a Jenkins account)
- Go to the Jenkin release job e.g. 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 e.g. 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 in the repo e.g. 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