Difference between revisions of "EEF/Releng Guide"

From Eclipsepedia

< EEF
Jump to: navigation, search
(Build parameters)
(Build parameters)
Line 57: Line 57:
 
** '''R''': Release
 
** '''R''': Release
  
These others parametersare optional, that is, must be configured through the job's configuration page if they are needed. ( see [[Common_Build_Infrastructure/Getting_Started/Build_In_Hudson/Ant_Job | this page]]).
+
For Integration builds, you can modify these parameters :
 
+
 
* BUILDALIAS : for release, maintenance and stable builds, use this option to give a more meaningful name to the build. For example, add <code>0.8.0M2</code> to get "EEF-SDK-incubation-0.8.0M2.zip" instead of "EEF-SDK-incubation-Sxxxx.zip".
 
* BUILDALIAS : for release, maintenance and stable builds, use this option to give a more meaningful name to the build. For example, add <code>0.8.0M2</code> to get "EEF-SDK-incubation-0.8.0M2.zip" instead of "EEF-SDK-incubation-Sxxxx.zip".
 
* FETCHTAG : Force a specific tag to be used when pulling sources from CVS. For example, use <code>HEAD</code> to build from HEAD instead of from the versions specified in the releng project's map files.
 
* FETCHTAG : Force a specific tag to be used when pulling sources from CVS. For example, use <code>HEAD</code> to build from HEAD instead of from the versions specified in the releng project's map files.
 +
 +
It is also possible to modify the configuration of the jobs directly  via the job's configuration page if needed. ( see [[Common_Build_Infrastructure/Getting_Started/Build_In_Hudson/Ant_Job | this page]]).
  
 
== Building locally ==
 
== Building locally ==

Revision as of 11:58, 10 February 2010

Back to EEF


Contents

EEF Releng HOW TO

The EEF project is built using Athena Common Build, with this releng project.

How to start a build?

Automatically

  • Nightly builds are run every 6 hours everyday, at 03:41, 09:41, 15:41 and 21:41 EST, monitoring every change in CVS.
  • Integration builds are started every Tuesday at 18:12 EST, even if there is no modification on CVS.
Warning2.png
Builds Differences
Be careful on what is build. Nightly builds are built against CVS HEAD, and integration are built against CVS v0_7_1_BRANCH.


Manually

  • Only committers in the EEF project can launch build jobs from Hudson. ( do not forget to login )
  • Nightly build : go to the nightly job
  • Integration build : go to the integration job

Then:

  • In Hudson, click on Build Now, change the build parameters as needed (see #Build parameters), and click on Build.
  • You can then click on the job name in the Build History section in the left column, and then on Console Output, to follow build progress in real time.

How to publish a build?

Automatically

Successful Nightly and Integration builds are automatically published to download.eclipse.org. These promote actions are done by a cron job on the build server :

# daily N EEF builds
45 22 * * * bash /opt/users/hudsonbuild/.hudson/jobs/cbi-emf-eef-0.7-nightly/workspace/org.eclipse.emf/org.eclipse.emf.eef/releng/bash-promote-N.sh
# weekly I EEF builds
12 19 * * 2 bash /opt/users/hudsonbuild/.hudson/jobs/cbi-emf-eef-0.7-integration/workspace/org.eclipse.emf/org.eclipse.emf.eef/releng/bash-promote-I.sh

The called scripts ( available here) get the latest successful build of given job, copy it and unpack the update sites in the correct places.

These builds can then be seen and downloaded from the EMFT download page, where additional information is available (test results, build log, build configuration, build dependencies).

See also the EEF Installation page to use the update sites if wanted.

Manually

Stable, Maintenance and Release builds are not automatically published. They should be first tested internally before publishing. After testing, you should use the specific promote script to promote in the right place.

Warning2.png
promote Milestones build
This last script update also the helios build train. use it with cautious !.


Build parameters

Hudson builds expect these parameters:

  • PROJECTID : modeling.emf.eef : no reason to change this
  • VERSION : the version being built.
  • BUILDTYPE : the kind of build, represented by a code letter (see this page):
    • N: Nightly
    • I: Integration
    • M: Maintenance (NOT milestone)
    • S: Stable (for Milestones and Release Candidate builds)
    • R: Release

For Integration builds, you can modify these parameters :

  • BUILDALIAS : for release, maintenance and stable builds, use this option to give a more meaningful name to the build. For example, add 0.8.0M2 to get "EEF-SDK-incubation-0.8.0M2.zip" instead of "EEF-SDK-incubation-Sxxxx.zip".
  • FETCHTAG : Force a specific tag to be used when pulling sources from CVS. For example, use HEAD to build from HEAD instead of from the versions specified in the releng project's map files.

It is also possible to modify the configuration of the jobs directly via the job's configuration page if needed. ( see this page).

Building locally

First, checkout EEF projects into your workspace, see this page.

Checkout also the releng projects :

  •  :pserver:dev.eclipse.org:/cvsroot/modeling,org.eclipse.emf/org.eclipse.emf.eef/releng
  •  :pserver:dev.eclipse.org:/cvsroot/technology,org.eclipse.dash/athena/org.eclipse.dash.commonbuilder/org.eclipse.dash.common.releng,org.eclipse.dash.common.releng
  •  :pserver:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.releng.basebuilder,org.eclipse.releng.basebuilder,r35x_v20090811

Then, setup the build.properties<code> file in the releng project with correct information for your system:

  • Set all the <code>JAVA*_HOME properties to the location of your JDK install (eg: /usr/lib/jvm/java-1.6.0-openjdk or C:/Program Files/Java/jdk1.6.0_16)
  • Set the WORKSPACE property to a writable directory (eg: /tmp or C:/temp)
  • change the dependencyURLs with the Eclipse SDK zip specific to your platform

Additionally, you should change all the dependencyURLs to point to one of your local Eclipse mirrors, to avoid saturating the main Eclipse download server, and getting extremely slow downloads.

Alternatively, you can download the dependencies manually and put them in your downloadsDir. The build will then use the files you provided instead of downloading them itself.

Finally, start the build by right-clicking the build.xml file in the releng project inside Eclipse and choosing Run as > Ant Build.