-
Notifications
You must be signed in to change notification settings - Fork 25
Release and RC Procedure
Releases are made by promoting builds on https://ci.eclipse.org/january.
Each successful January build is uploaded to the latest directory for that build name on download.eclipse.org, this is shown by having 1 star next to the job. See individual jobs for exact locations. In addition, each build saves its build artifacts in hudson. Those build artifacts can be uploaded manually as a Release Candidate or a Release build placing the artifacts in the correct location on download.eclipse.org. When builds are promoted to RC or Release additional promotion stars are placed on the build and the build is marked as keep forever (the lock icon).
- Ensure build has successfully built (i.e. Green) and that it has promoted and works in the latest directory on download.eclipse.org.
- Open the job's promotion page (click on the star next to the job, or Promotion Status on the job). The URL should be something like https://ci.eclipse.org/january/job/january-2.0/6/promotion/
- Under the Release Candidate promotion enter the new
RCNAME
and press Approve - When the job is done, test the repository on download.eclipse.org (the next step may help)
- Update the
JanuaryExamples.tpd
on the same branch to point at the new RC - Deploy the snapshopt to Maven.
0. Set-up and configure Maven central, see Maven Central Configuration
- Ensure version numbers have -SNAPSHOT in them
- Deploy to Maven Central with
mvn deploy -P sign-gpg
- The SNAPSHOT should now be uploaded to https://oss.sonatype.org/content/repositories/snapshots/org/eclipse/january/org.eclipse.january/
- Announce the promotion on january-dev@eclipse.org. Here is an example email:
Subject: Eclipse January 2.0 RC1 posted
Hi everyone
The Eclipse January 2.0.0 RC1 build is now posted:
http://download.eclipse.org/january/releasecandidates/2.0RC1/repository/
zipfile: http://download.eclipse.org/january/releasecandidates/2.0RC1/repository.zip
It is based on commit: 4d2d8221e1f58671ae2c5a42542c31a76de90d55
Unless someone finds something wrong, this is our last build for the
2.0.0 release.
Thanks for all the good work everyone!
Jonah
-
Ensure build has successfully built (i.e. Green) and that it has been promoted as an RC
-
Open the job's promotion page (click on the star next to the job, or Promotion Status on the job). The URL should be something like https://ci.eclipse.org/january/job/january-2.0/6/promotion/
-
Under the Release promotion enter the new
RNAME
and press Approve -
When the job is done, test the repository on download.eclipse.org (the next step may help)
-
Update the
JanuaryExamples.tpd
on the same branch to point at the new Release. -
Deploy the release to Maven. 0. Set-up and configure Maven central, see Maven Central Configuration
- Update versions to non-SNAPSHOT using
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=2.0.3
and then dogit grep 2\\.0\\.2
to find the places that tycho-versions does not update.- The two places that don't update properly are
category.xml
for source bundles and the reference to the target platform in the relengpom.xml
.
- The two places that don't update properly are
- Deploy to Maven Central with
mvn deploy -P sign-gpg
- Test & Release the deployed version. See releasing the deployment, summary is:
- Log in to https://oss.sonatype.org/#stagingRepositories
- Find repository
orgeclipsejanuary-XXXX
in the list, where XXXX is auto generated number - Examine the staging repo
- If good, press Close, if there is a problem press Drop, fix the problem and redeploy. The close process can take a while to run its checks.
- Once the Close checks pass, select the staged repo again and press Release. There is a further delay until the release ends up on maven central, and another delay after that before it is in search results.
- Once ready the release will be in the repo and search
- Update version to next version-SNAPSHOT using
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=2.0.4-SNAPSHOT
and then dogit grep 2\\.0\\.3
to find the places that tycho-versions does not update.
- Update versions to non-SNAPSHOT using
-
Tag the commit as
JANUARY_<major>_<minor>_<patch>
, where major and minor match the branch name.(For January 1.0.0 the release is based off commit without tpd update, but the tag includes it. Need to get it right for 2.0. It is a little chicken and egg, I can't test the tpd change until I have promoted the build and I can't promote the build until the tpd change is in.
For January 2.0.0 I set two tags, one with _EXAMPLES suffix pointing at the commit with the examples, and the JANUARY_2_0_0 tag pointing at the commit the build was actually based off of. At the moment I am not satisfied with either model. Perhaps we should have examples in its own repo????)
-
Update download links on Project Page: https://projects.eclipse.org/projects/science.january/downloads
-
Add new release info on https://github.com/eclipse/january/releases
-
Add description of build on CI to label version there. Open the build and press "Add description" Example URL is: https://ci.eclipse.org/january/job/january-2.0/9/editDescription
-
Update contents of http://www.eclipse.org/january by modifying git repo https://git.eclipse.org/c/www.eclipse.org/january.git/
- Update index.html to point download to release
- Add contents of apidocs.zip in
apidocs/<version>
- Update version in
apidocs/index.php
to point at<version>
- Push and test
-
Announce the promotion on january-dev@eclipse.org. Here is an example email - remember to update the versions:
Subject: Eclipse January 2.0 Final posted
Hi everyone
The Eclipse January 2.0.0 Final build is now posted:
http://download.eclipse.org/january/releases/2.0.0/repository/
zipfile: http://download.eclipse.org/january/releases/2.0.0/repository.zip
It is based on commit: 4d2d8221e1f58671ae2c5a42542c31a76de90d55
Which is tagged: JANUARY_2_0_0
The release is also available on Maven Central, add it to your project with:
<dependency>
<groupId>org.eclipse.january</groupId>
<artifactId>org.eclipse.january</artifactId>
<version>2.0.0</version>
</dependency>
The example projects have been updated to point to the release repository in commit: 2104e591d99470f49726343358addf0638bf9977
Which is tagged: JANUARY_2_0_0_EXAMPLES
URL: https://github.com/eclipse/january/tree/JANUARY_2_0_0_EXAMPLES
Thanks for all the good work everyone!
Jonah