Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "MicroProfile/Config/ConfigRelease"

(Created page with "= How to perform a release = The following process applies to any release, including milestones, release candidates and final. [http://www.example.com link title] # Prepare t...")
 
m
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
= How to perform a release =
 
= How to perform a release =
  
The following process applies to any release, including milestones, release candidates and final.
+
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.
[http://www.example.com link title]
+
 
# Prepare the release
 
# Prepare the release
## Clone the MicroProfile Config repository
+
## Clone the [https://github.com/eclipse/microprofile-config/tree/master MicroProfile Config master repository]
 
## Run the [https://github.com/eclipse/microprofile-config/blob/master/perform_release/prepare_release.sh prepare_release.sh] script (specify required env vars before) - it should create a tag and push it to the upstream repository
 
## Run the [https://github.com/eclipse/microprofile-config/blob/master/perform_release/prepare_release.sh 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_EMAIL='john_doe@gmail.com'
 
# Deploy artifacts into Eclipse repository
 
# Deploy artifacts into Eclipse repository
## Run Jenkins job CONFIG-deploy-prerelease-artifacts, specify created tag as a parameter
+
## 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 [https://ci.eclipse.org/microprofile/job/CONFIG-deploy-prerelease-artifacts/ws/spec/target/generated-docs/spec/target/generated-docs 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
 
# Notify MicroProfile community about the new version
 
## Send information about the created tag and artifact to review the release, e.g. on mailing-list
 
## Send information about the created tag and artifact to review the release, e.g. on mailing-list
 +
### Git tag is in the [https://github.com/eclipse/microprofile-config source repository]
 +
### artifacts (API, TCK, PDF?) are in the [https://repo.eclipse.org/content/groups/microprofile/org/eclipse/microprofile/config/ Eclipse repository]
  
 
== How to perform a release of a final version ==
 
== How to perform a release of a final version ==
  
# Do the steps above for a release candidate
+
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 and announce the final version
+
If a release candidate is approved, it can be turned into final
## Publish the final artifact to Maven central (not available yet)
+
# 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 [https://github.com/eclipse/microprofile-config/blob/master/perform_release/deploy_to_maven_central.sh 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
 +
 
 +
[[Category:MicroProfile]]

Latest revision as of 14:20, 26 January 2024

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.

  1. Prepare the release
    1. Clone the MicroProfile Config master repository
    2. Run the prepare_release.sh script (specify required env vars before) - it should create a tag and push it to the upstream repository
      1. export RELEASE_VERSION=1.0-RC3
      2. export DEV_VERSION=1.0-SNAPSHOT
      3. export GIT_USER='John Doe'
      4. export GIT_EMAIL='john_doe@gmail.com'
  2. Deploy artifacts into Eclipse repository
    1. Logon to Jenkins (register for an account if you don't have a Jenkins account)
    2. Go to https://ci.eclipse.org/microprofile/job/CONFIG-deploy-prerelease-artifacts/ and then click on "Build with Parameters"
  3. 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)
  4. Notify MicroProfile community about the new version
    1. Send information about the created tag and artifact to review the release, e.g. on mailing-list
      1. Git tag is in the source repository
      2. artifacts (API, TCK, PDF?) are in the Eclipse repository

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

  1. Run the above steps for the final version, but:
    1. set BASE_REVISION variable to the name of the release candidate tag
    2. increase DEV_VERSION to point to the next snapshot version
  2. Publish the final artifact to Maven central - follow instructions in the script deploy_to_maven_central.sh
  3. announce the final version
  4. increase the snapshot version in master: merge the intermediary branch branch_$RELEASE_VERSION created locally by the script to master and push master:
    1. git checkout master
    2. git merge branch_$RELEASE_VERSION
    3. git push origin master

Back to the top