Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Papyrus/Papyrus Developer Guide/Release Standard Operating Procedure: Doc
Contents
Comment
- @improvement create a bugzilla first
- @improvment create a query to find all repositories to be updated manually
- @bug the automatic repository version updater seems to introduce non unix break lines
Overview
- one week before setup a team: at least one commiter with one other personn
- one day before send an email to the mailing
- release day send an email to the papyrus developer mailing list before the release
- make the release
- release day send an email to the papyrus developer mailing list after the release
Email template proposal
- one week end before: XXXX
- 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
- release day final email: Hi everyone
Prerequisite
- fresh eclipse <version> nightly Eclipse for RCP and RAP Developers
- papyrus releng project from git new branch on master synchro with the master branch
- simrel project in workspace: git://git.eclipse.org/gitroot/simrel/org.eclipse.simrel.build.git
Release Plan Action
- Update dependencies from Agregation Build Models
- Help>Install> Update site: https://hudson.eclipse.org/papyrus/view/Mars/job/Papyrus-Master-Developer/lastSuccessfulBuild/artifact/releng/dev/target/repository/
- right click on the *.pom.xml and oomph papyrus.setup
- /releng/org.eclipse.papyrus.oomph/setups/papyrus.setup
- /releng/top-pom-dev.xml
- /releng/top-pom-extra-tests.xml
- /releng/top-pom-extras.xml
- /releng/top-pom-main-tests.xml
- /releng/top-pom-main.xml
- /releng/top-pom-rcp.xml
- 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
- Update dependencies manually
- for all unannotated repositories,
- @missing cmd: find . -name "top-pom*" | xargs -t -i grep "manualUpdate" -b1 {}
- for detection of manual repository example repository orbit find the lastest url http://download.eclipse.org/tools/orbit/downloads/
- 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
- Deploy the new version
- Push on Papyrus gerrit
- tag to be used [Releng] Update dependencies for <Eclipse Version> <Milestone>
- Execute the Papyrus-Master hudson job with the new parameters with no sign
- Go: https://hudson.eclipse.org/papyrus/view/Mars/job/Papyrus-Master/
- Add parameters
- BUILD_ALIAS : the name of the release (0.9.0, 1.1.0M6, etc.); leave it blank for nightly and integration builds
- SIGN : whether to sign the update site (can take up to an hour on the Eclipse build server); mandatory for all builds except nightlies
- last 15 mn
- In parrallele Execute the Papyrus-Master hudson job with the new parameters with sign
- Go: https://hudson.eclipse.org/papyrus/view/Mars/job/Papyrus-Master/
- Add parameters
- BUILD_ALIAS : the name of the release (0.9.0, 1.1.0M6, etc.); leave it blank for nightly and integration builds
- SIGN : whether to sign the update site (can take up to an hour on the Eclipse build server); mandatory for all builds except nightlies
- last 1 hour
- Automatically execute the Papyrus-Master-Test hudson job
- Execute the Papyrus-Master-Extra hudson job with the new parameter with sign
- Go: https://hudson.eclipse.org/papyrus/view/Mars/job/Papyrus-Master-Extra/
- Add parameters
- SIGN : whether to sign the update site (can take up to an hour on the Eclipse build server); mandatory for all builds except nightlies
- last 1 hour
- Push on Papyrus gerrit
- Keep the hudson job for MASTER and MASTER-EXTRA, the one that have been tagged and sign
- publish a milestone or release from a build, you can use the manualPromote.sh for Luna, and manualPromote-mars.sh for Mars
- /opt/public/modeling/mdt/papyrus/manualPromote.sh
- 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
- Update discovery and milleston update site
- 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
- 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")
- Check the different sites:
Simultaneous Release
- Update the simrel papyrus agregator file
- /org.eclipse.simrel.build/mdt-papyrus.b3aggrcon
- <repositories location="http://download.eclipse.org/modeling/mdt/papyrus/updates/milestones/1.1/M6/main" description="Papyrus">
- ssh://<user>@git.eclipse.org:29418/simrel/org.eclipse.simrel.build.git
- https://hudson.eclipse.org/simrel/
- https://git.eclipse.org/r/#/q/status:open+project:simrel/org.eclipse.simrel.build+branch:master