Skip to main content
Jump to: navigation, search

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

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

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
  3. release day final email: Hi everyone

Prerequisite

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

Release Plan Action

  1. Diapason
    1. Read the preceding ticket in Diapason and have a look to the comment section
    2. Open the ticket in Diapason
    3. Add any comment to the release process
  2. 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
  3. 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/
  4. Tag the new version in the git repository: Releases should have a tag like 0.9.0, and milestones should have a tag like 0.9.0_M7
  5. 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
  6. Keep the hudson job for MASTER and MASTER-EXTRA, the one that have been tagged and sign
    1. https://hudson.eclipse.org/papyrus/view/Mars/job/Papyrus-Master/lastStableBuild/
    2. https://hudson.eclipse.org/papyrus/view/Mars/job/Papyrus-Master-Extra/lastStableBuild/
  7. publish a milestone or release from a build, you can use the manualPromote.sh for Luna, and manualPromote-mars.sh for Mars
    1. /opt/public/modeling/mdt/papyrus/manualPromote.sh
    2. Start this script, and fill in the parameters in the interactive script.
$ 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. Update discovery and milleston update site
    1. update both the compositeContent.xml and compositeArtifacts.xml files of the update site (that are located in the parent of the folder to which you extracted the update site) to add a reference to your newly added update site
    2. set the value of p2.timestamp to the result of "date +%s000" increase the "size" attribute of the children element

add a "child" element inside the "children" element with a "location" set to the name of the folder (e.g "M6")

  1. 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/
  2. Simultaneous Release: Update the simrel papyrus agregator file
    1. /org.eclipse.simrel.build/mdt-papyrus.b3aggrcon
    2. <repositories location="http://download.eclipse.org/modeling/mdt/papyrus/updates/milestones/1.1/M6/main" description="Papyrus">
    3. ssh://<user>@git.eclipse.org:29418/simrel/org.eclipse.simrel.build.git
    4. https://hudson.eclipse.org/simrel/
    5. https://git.eclipse.org/r/#/q/status:open+project:simrel/org.eclipse.simrel.build+branch:master
  3. Diapason
    1. close the ticket
    2. create a new one for the next release

Back to the top