This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 284024 - enhancement for promote.sh script
Summary: enhancement for promote.sh script
Status: RESOLVED FIXED
Alias: None
Product: Babel
Classification: Technology
Component: Server (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Denis Roy CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-20 11:36 EDT by Kit Lo CLA
Modified: 2010-05-18 08:37 EDT (History)
1 user (show)

See Also:


Attachments
screen capture (72.30 KB, image/x-png)
2010-04-28 12:06 EDT, Kit Lo CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kit Lo CLA 2009-07-20 11:36:49 EDT
promote.sh changes the "Build ID" string on the language pack download page when promoting an I-build as a Release Candidate. We probably should do the same when releasing an RC build.

After looking at the Eclipse Platform build page, I think we should modify the "Build ID" string to show something like these:

Nightly build =>
Nightly Build: N20090714-0400

Integration build =>
Integration Build: I20090714-0400

Milestone or RC build =>
Stable Build: M2
or
Stable Build: RC1

Release build =>
Release Build: 0.7
Comment 1 Kit Lo CLA 2009-09-17 01:57:38 EDT
Denis, we may need this for promoting builds for Ganymede SR1.
Comment 2 Kit Lo CLA 2009-09-17 01:59:33 EDT
... I meant Galileo SR1. Too many G's...
Comment 3 Kit Lo CLA 2010-04-28 01:33:03 EDT
Denis, I'm trying to fix this while I'm fixing Bug 310135. However, I'm not sure where we should retrieve the release ID (e.g. 0.7 or 0.8) from. Any suggestion?
Comment 4 Denis Roy CLA 2010-04-28 10:32:06 EDT
I'm not sure I fully understand this bug, Kit.  What are you trying to do?
Comment 5 Kit Lo CLA 2010-04-28 12:06:28 EDT
Created attachment 166340 [details]
screen capture

A picture map help. When we promote an integration build to a RC build, we change the Build ID to "RCx". But when we pomote the RC build to a release build, we didn't modify the Build ID. A release build ends up with a "RCx" Build ID. I had to change the 0.7 and 0.7.1 release Build IDs manually before.

We can either pass the release ID as a parameter, or get the release ID somewhere.
Comment 6 Denis Roy CLA 2010-04-28 14:44:07 EDT
In that case, we likely just want to replace the *letter*  (I for I-build, N for nightly) with the new value/version to preserve the build timestamp.  Right?

I20100428-0400 -> RC1-20100428-0400
I20100428-0800 -> RC2-20100428-0800
I20100429-0400 -> RC3-20100429-0400
RC3-20100429-0400 -> R0.8.0-20100429-0400  ?


If that makes sense, here's what we need to do:

- edit promote.sh to add a second parameter to the -r form. Right now it is:
promote.sh -r RC4 (which means take RC4 and promote it to release)

promote.sh -r RC4 -v 0.8.0 <-- we can add a -v switch to grab the release version


- we hack the # Promote RC-build to Release code to grep/sed the files and rename them, alter the build ID

Make sense?
Comment 7 Denis Roy CLA 2010-04-28 14:46:05 EDT
I also notice that promote.sh does not produce the p2 repo, nor does it install mirroring for the p2 repo.  Do you do that manually?
Comment 8 Kit Lo CLA 2010-04-28 22:54:44 EDT
Idea in comment 6 is similar to what I have in mind. I will try to implement that.

To answer your question in comment 7, yes, I manually produced the p2 repo for 0.7 and 0.7.1.
Comment 9 Kit Lo CLA 2010-05-03 12:45:23 EDT
Denis, I uploaded my promote.sh to build.eclipse.org.

First of all, I tried to create Build ID like you described in comment 6:
RC3-20100429-0400
R0.8.0-20100429-0400

However, this Build ID is being used in path of the update sites in the index.php. Also, if we use this form, the command to promote from RCx to release build may look like:
promote.sh -r RC3-20100429-0400 -v 0.8.0

instead of:
promote.sh -r RC3 -v 0.8.0

I want to keep it simple and decided to just use RCx and R0.8.0 as the Build IDs.

The script worked as designed on my developement environment. However, I received a message saying I cannot execute binary command when I tried to promote a RC build to a release build... because I added the mirrorsURL to the site.xml and needed to call p2 updateSitePublisher. Eclispe was installed at /shared/common, but didn't help. What should we do?
Comment 10 Kit Lo CLA 2010-05-18 08:37:24 EDT
Related to Bug 310135. Fixed at the same time.