Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

EMF Compare/Build

< EMF Compare
Revision as of 05:28, 14 May 2013 by Laurent.goubet.obeo.fr (Talk | contribs) (Creating the release build)

Build job locations

The latest version can always be built with the Master job. The current master contains version 2.1.*.

Launching a Build

Members of the EMF Compare team are the only persons that can launch builds. You will need to be connected to hudson and on the page of the job you want to run (see above).

There are four parameters to a build :

  • Type
N => Nightly. Unstable builds that won't be tested in-depth and are not meant to be largely distributed. One is launched every night.
I => Integration. Should be used for builds that are meant to be tested by users, for example if a build has been launched to fix a given bug which resolution must still be verified.
M => Maintenance. Not used by EMF Compare.
S => Stable. Should be used for every Milestone or Release Candidate (RC) builds.
R => Release. Must never be used from hudson. The "R" or "Release" version is in fact a renaming of the latest "Stable" RC build; refer to the promotion instructions below.
  • Alias
Must always be filled for "S" type builds. The alias format must follow the rule <major>.<minor>.<micro><build alias>. For example, when building the M7 milestone of version 2.1.0, the alias must be filled to "2.1.0M7" or to "2.1.0RC2" when building the second release candidate.
  • Sign
Mandatory for all "S" type builds. This can be left unchecked for N and I builds.
  • Platform
Kepler => Default platform at the time of writing. This will mean that the build must be run with Kepler (Eclipse 4.3) dependencies.
Juno => If the build must be run against Juno (Eclipse 4.2) dependencies.
Indigo => For builds that need Indigo (Eclipse 3.7) dependencies.

Promotion Instructions

Note that you need access rights on build.eclipse.org so that you can connect via ssh build.eclipse.org. If you need to promote a build but lack a shell access, open a bug such as 386379 to request an unrestricted shell access explaining "why" you need it.

For release and milestone builds, you will also need write access on

For all builds

  • Launch build on the required hudson job. Let's assume here that you build the latest version through job emf-compare-master.
  • Once the build has passed
    • Connect to build.eclipse.org (ssh build.eclipse.org)
    • Go to the appropriate folder for promotion (here, cd /shared/jobs/emf-compare-master/lastSuccessful/archive/packaging/org.eclipse.emf.compare.update/target/promotion/, replace the job name accordingly)
    • Launch the promoter (ant -f promoter.xml)
    • Keep the build qualifier in mind, it will be indicated in the promoter log (for example, 201303191750 was the qualifier of our 2.1.0M6)
  • Check that the two following update sites both exist and contain a build with the proper qualifier
(All update site locations are explained in the dedicated section below.)

For the release

The R build will be a copy of the latest RC that was promoted. Promoting the release will be made in two steps : creating the release build, then making it available ; the latter of which should only be done the day of the official release train's release.

Creating the release build

Let's assume "2.1.0" is the released version here, assume the qualifier of the latest RC, "2.1.0RC4", is 201306110000. All of the following is done on build.eclipse.org.

zips

  • Go to the "drops" folder corresponding to your release
    • cd /home/data/httpd/download.eclipse.org/modeling/emf/compare/downloads/drops/2.1.0
  • copy the folder of the latest RC into a folder with the same qualifier, but with the "R" prefix instead of "S"
    • cp -r S201306110000 R201306110000
  • Go into this new folder
    • cd R201306110000
  • Rename all zips and md5 to remove their "RC" alias
    • mv emf-compare-update-2.1.0RC4.zip emf-compare-update-2.1.0.zip
    • mv emf-compare-update-2.1.0RC4.zip.md5 emf-compare-update-2.1.0.zip.md5
  • Change the md5 to remove the alias from the file names
    • vi emf-compare-update-2.1.0.zip.md5
  • Check all md5, it must be OK
    • md5sum -c *.md5
  • Hide the zip from the download page
  • Make sure that the zip does not appear on http://www.eclipse.org/emf/compare/downloads/

update site

  • Go to the "releases" folder of the project and create the version's folder if it does not exist yet :
    • cd /home/data/httpd/download.eclipse.org/modeling/emf/compare/updates/releases/
    • mkdir 2.1
    • cd 2.1
  • Create a folder for the release, with the same qualifier as above
    • mkdir R201306110000
    • cd R201306110000
  • Use the mirroring script to replicate the latest RC in this folder
    • ant -f /shared/modeling/tools/promotion/mirror-repository.xml -Drepository=/home/data/httpd/download.eclipse.org/modeling/emf/compare/updates/milestones/2.1/S201306110000/
you might get "unable to satisfy dependency" warnings while mirroring, this isn't an issue at this point.

Making the build available

Back to the top