Skip to main content
Jump to: navigation, search

Papyrus/Papyrus Developer Guide/Release Standard Operating Procedure: Doc

< Papyrus‎ | Papyrus Developer Guide
Revision as of 10:13, 3 June 2015 by Francois.le-fevre.cea.fr (Talk | contribs) (Release Plan Action)

Comment

  1. @improvement create a bugzilla first
  2. @improvment create a query to find all repositories to be updated manually
  3. @bug the automatic repository version updater seems to introduce non unix break lines
  4. @improvment define the list of user able to execute a build on papyrus master

Overview

  1. one week before setup a team: at least one commiter with one other personn
  2. one day before send an email to the mailing
  3. release day send an email to the papyrus developer mailing list before the release
  4. make the release
  5. release day send an email to the papyrus developer mailing list after the release
  6. release day send an email to the cross project mailing list after the release

Email template proposal

  1. one week end before: XXXX
  2. release day initial email: Hi everyone !Today is build day so if you can refrain yourselves from pushing troublesome features we would greatly appreciate it.Papyrus Core Team

Prerequisite

  1. fresh eclipse <version> nightly Eclipse for RCP and RAP Developers
  2. papyrus project in workspace: git new branch on master synchro with the master branch with releng project imported
  3. simrel project in workspace: git://git.eclipse.org/gitroot/simrel/org.eclipse.simrel.build.git

Release Plan Action

  1. Update dependencies from Agregation Build Models
    1. Help>Install> Update site: https://hudson.eclipse.org/papyrus/view/Mars/job/Papyrus-Master-Developer/lastSuccessfulBuild/artifact/releng/dev/target/repository/
    2. right click on the *.pom.xml and oomph papyrus.setup
      1. /releng/org.eclipse.papyrus.oomph/setups/papyrus.setup
      2. /releng/top-pom-dev.xml
      3. /releng/top-pom-extra-tests.xml
      4. /releng/top-pom-extras.xml
      5. /releng/top-pom-main-tests.xml
      6. /releng/top-pom-main.xml
      7. /releng/top-pom-rcp.xml
    3. Selection the right version and check the Confirmation Location Update, each version should be the lastest official version except if you depend on a specific build version, unreleased officially
  2. Update dependencies manually
    1. for all unannotated repositories,
    2. @missing cmd: find . -name "top-pom*" | xargs -t -i grep "manualUpdate" -b1 {}
    3. for detection of manual repository example repository orbit find the lastest url http://download.eclipse.org/tools/orbit/downloads/
  3. Tag the new version in the git repository
  4. Deploy the new version
    1. Push on Papyrus gerrit
      1. tag to be used [Releng] Update dependencies for <Eclipse Version> <Milestone>
    2. Execute the Papyrus-Master hudson job with the new parameters with no sign
      1. Go: https://hudson.eclipse.org/papyrus/view/Mars/job/Papyrus-Master/
      2. Add parameters
        1. BUILD_ALIAS : the name of the release (0.9.0, 1.1.0M6, etc.); leave it blank for nightly and integration builds
        2. SIGN : whether to sign the update site (can take up to an hour on the Eclipse build server); mandatory for all builds except nightlies
        3. last 15 mn
    3. In parrallele Execute the Papyrus-Master hudson job with the new parameters with sign
      1. Go: https://hudson.eclipse.org/papyrus/view/Mars/job/Papyrus-Master/
      2. Add parameters
        1. BUILD_ALIAS : the name of the release (0.9.0, 1.1.0M6, etc.); leave it blank for nightly and integration builds
        2. SIGN : whether to sign the update site (can take up to an hour on the Eclipse build server); mandatory for all builds except nightlies
        3. last 1 hour
    4. Automatically execute the Papyrus-Master-Test hudson job
    5. Execute the Papyrus-Master-Extra hudson job with the new parameter with sign
      1. Go: https://hudson.eclipse.org/papyrus/view/Mars/job/Papyrus-Master-Extra/
      2. Add parameters
        1. SIGN : whether to sign the update site (can take up to an hour on the Eclipse build server); mandatory for all builds except nightlies
        2. last 1 hour
  5. Keep the hudson job for MASTER and MASTER-EXTRA, the one that have been tagged and sign
  6. Execute the publication

With the script

To publish a milestone or release from a build, you can use the manualPromote.sh for Luna, and manualPromote-mars.sh for Mars, script on: /opt/public/modeling/mdt/papyrus/manualPromote.sh Start this script, and fill in the parameters in the interactive script.

For example:

$ cd /opt/public/modeling/mdt/papyrus/
$ ./manualPromote.sh
-------------------- user parameters --------------------
mainBuildNumber (the number of the "papyrus-trunk-nightly" Hudson build from which to publish the main Papyrus plug-ins):
? 519
extrasBuildNumber (the number of the "papyrus-trunk-extra-nightly" Hudson build from which to publish the extra Papyrus plug-ins, or 0 to not publish):
? 43
testsBuildNumber (the number of the "papyrus-trunk-nightly-tests" Hudson build from which to publish the test results, or 0 to not publish):
? 93
version (e.g. "0.9.0"):
? 0.9.0
updateSite (e.g. "nightly/juno", "milestones/0.9/M5", "releases/indigo/0.8.1") :
? milestones/0.9/M5
Are you sure you want to publish with these parameters (yes|no)?
? yes
    1. Enter the job numbers
    2. Check the different sites:
      1. http://download.eclipse.org/modeling/mdt/papyrus/updates/milestones/1.1/RC3/?d
      2. https://www.eclipse.org/papyrus/downloads/

Back to the top