Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search


Revision as of 00:37, 22 March 2023 by (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Page contains instructions for carrying out regular Eclipse Release engineering tasks. If you still have a query, please post the query in Releng Faq and contact the release engineer of the previous release Sravan Kumar Lakkimsetti.


Routine releng tasks

Build failures

Monitoring of JIPP jobs

Test Jobs

All the regular test(x86_64 only) are available at Automated Tests

OS and Java version

Centos 8 Java 11, Java 15
Windows 10 Java 11
Macos Java 11

Smoke Tests Jobs

We run platform ui suite as smoke test suite. If developers request we can run individual test suites using these jobs. All the Smoke Tests are available at Smoke Tests

OS/Arch/Java version

Centos 8 x86_64 Java 11, Java 15, Java 16, Java 17
arm64 Java 11, Java 15, Java 16, Java 17
ppc64le Java 11, Java 15
Opensuse 15.2 x86_64 Java 11, Java 15, Java 16, Java 17
Ubuntu 20.04 x86_64 Java 11, Java 15, Java 16, Java 17

Deployment jobs to If these fail gerrit jobs will fail

Deploys eclipse parent pom for use in gerrit
Deploys prereqs
Deploys JDT compiler

Cleanup and monitoring jobs

Removed old builds based on the retention policy and updates download page
Verifies the I-build
Cleans up equinox builds
Mark any IBuild as unstable when "Unanticipated comparator errors" occurs, you need to pass below Job args:
- Eclipse IBuild ID
- Bugzilla bug ID

How to deal with MAC signing failure?

We have a new flag setting w.r.t. MAC signing which is never disabled. We only enable/disable the failing nature of IBuild.

Sharing more details on what exactly the flag does: Current flag value: <macSigner.forceContinue>true</macSigner.forceContinue>

false: means the IBuild will try to do MAC signing and if MAC signing step fails the complete IBuild is declared as failure which can be noticed with:
Major drawback: Builds for all platform fails because of missing MAC signing step, even when the IBuild is testable but not releasable.

true: means the IBuild process try to sign the MAC build(if it woks we get a .dmg file extension for a signed build) e.g. and if it fails we will force continue with the build which you can notice with: and we will end up with .tar.gz(extension for un-signed build).
Note: When MAC signing fails the MAC download link will not work in the download page as it continues to point to .dmg file, to make the download link work, rename it to .tar.gz

Related bugs: bug 542843, bug 544555 and bug 544798

What to do if test result doesnt come for one or more platforms due to infrastructure issues in the I build ( especially on milestone candidate build)?

1) Open infrastructure bug like 552589

2) If the bug is fixed, then you can just retrigger the relevant tests here -

(this example is for linux tests with java 11 but you need to find the appropriate test job here


A failure would appear something like

testJavadocLogs Failure javadoc errors and/or warnings in: platform.doc.isv.javadoc.txt jdt.doc.isv.javadoc.txt pde.doc.user.javadoc.txt See the javadoc logs linked from the test results page for details

java.lang.AssertionError: javadoc errors and/or warnings in: platform.doc.isv.javadoc.txt jdt.doc.isv.javadoc.txt


1) Go to javadoc logs ( something like )

2) Look at "Javadoc Logs" section

3) For different components there are link like jdt.doc.isv.schema.txt

4) All should be 0 KB ideally

5) Click the link that is not 0 KB - you will see a syntax error or encoding error

6) Either fix it or escalate to the respective component

How to make a build hidden

1) Open WinSCP

2) Go to ( use eclipse user name and password) - rest default values

3) Go to /home/data/httpd/

4) Add file buildHidden

5) Run re-index job


Update Calender for release 4.x -

Steps: Click on the "Google Calendar" icon below the calendar widget. Add the events -
1. I builds
2. Milestone builds

Create repositories for new stream

Use this job using the new stream version as parameter to get the I-builds/Y-builds/milestones/release repo.

Build Activities & Promotion:

Simrel Commit rights

Get commit rights by creating a bug similar to Bug 549297 - Request for commit rights to SimRel repo

TRIGGER - FRIDAY before milestone:

1) Send email to platform-dev, eclipse-dev and equinox-dev with the contents from

under the heading "Milestone Weeks" starting with the para Here's the usual schedule for milestone weeks

Make sure to include "The master branch stays closed..." even for RCs.

2) Send a mail to Roland Grunberg, Ed Merks for ECF, EMF and Orbit build contributions.

3) Enable milestone build schedule -

TRIGGER - Wednesday, Milestone Week:

1) Send mail for EMF (Bug 545717), ECF (BUG 545718) and Orbit (Bug 545719)

2) Check for any feature change wrt platform dependencies and send mail to cross-project-issues-dev - here is an example.

3) Last build on a milestone - Wednesday usually - Touch the documentation bundles -  Use Touch Doc Bundles

Monitoring of builds:

Builds are triggered using

SWT builds are done from

Launcher builds from

TRIGGER - Thursday, Milestone Week - Sanity Check and Rebuild

Disable all future builds before creating the sign-off bug

Rebuild steps:
First, ensure that the build input has been done for the SWT bundles by looking at the repository history: (this needs to be checked for any off-cycle builds)
the last commit message should be like v<4 digit version>. If not, run
Secondly, certain documentation bundles need to be touched in the following repo: (this needs to be done for last build of a milestone)
If a new build needs to be done trigger the appropriate job, for e.g. for I build:

- Create Sign-Off bug (eg Bug 547968) and send mail to platform-dev, platform-releng-dev and equinox-dev [see here for example:]
- Disable future builds - enable post simrel contribution
- List of cc for Sign off Bug:,,,,,,,,,,,,,,,
- Send email to all mailing groups asking to give go/no go against the component.
- For RC2 ALONE, disable I-build task listed under for this release

TRIGGER - Friday, Milestone Week - Promotion:

Promotion steps

The build promotion (NOT TO BE DONE FOR M2 milestone) needs to be done in three steps. Before you proceed, there are certain preliminary steps need to be taken. Usually, the promotion is done on a Friday. And finally, before proceeding with the promotion get the candidate build ID that is required during the promotion.

Run the rename and promote job with the appropriate parameters: (Click on the job and then "Build with Parameters") - Can take up to 5 min.

DROP_ID              I20190109-1800 (copy the build ID here) (make sure there is no space before or after the ID)
CHECKPOINT           M1 (blank for final releases)
SIGNOFF_BUG          543331 (numeric part only)
TRAIN_NAME           2020-03 (whatever is the current release planned for)
STREAM               4.15.0 (4.14.0 etc.)
DL_TYPE              S (S is used to promote I-builds)

Click on Build to run the Job.

After the job has run successfully, get the mail template and update-site URL ( resides in mail template) from the job's build artifacts.

Location of the content: stage2output<release-name>/mailtemplate.txt

Verify all the links in the generated download page by putting in browser and updateSite (updateSite verification can be combined with simRel contribution. If there are any problems, simRel contribution will fail).

If the promotion is done before test results were available for the I-build (e.g. in case of a re-build of the candidate build), the test results will not be updated to the milestone S-build on the downloads page. To fix, see bug 559086.

Contribute to Simrel (Note: Required for M2 milestone as well)

For milestones, do this step immediately after the previous step.

For RCs, this step needs to be performed after SIMREL completes its previous milestone. To make sure that this has happened positively, Please wait until Frederic (or other from Foundation) sends the mail on promotion for previous checkpoint.

- Set up simrel eclipse env - (setup Aggregator editor, clone simrel git repo, configure workspace)

- Clone or ssh:// (for committers) and import it to workspace.

- Open simrel.aggr in the CBI Aggregator Editor. (Install from update site

- Then open properties view

- Select Eclipse in the CBI aggregator editor and select Mapped Repository - properties view will get updated with the details from Eclipse project.

- Update Location in the properties view. For eg 4.12 M3 the location is

- Repeat the same steps for equinox.

- Updating p2 repo site for eclipse and equinox corresponds to files ep.aggrcon and equinox.aggrcon

- Note update site, not download URL e.g.:

- There will be 1 problem that will come up

In windows machine, there will be formatting issue. Ignore all files except ep.aggrcon & equinox.aggrcon

open ep.aggrcon - Go to File > Convert Line delimiter to > Unix will solve

open equinox.aggrcon - Go to File > Convert Line delimiter to > Unix will solve

- (Instead of below, you can just create gerrit patch and if you get SUCCESS in gerrit patch, it is good)
(optional) Right-click on Aggregation > clean Aggregation, Validate, Validate Aggregation in a sequence. (Don't click on Build Aggregation)

If gerrit successful, push changes to ep.aggrcon & equinox.aggrcon to gerrit (comment for eg for 4.12 M3 - use year - month format: Eclipse platform and Equinox Contribution for 2019-06 M3) and also add signed-off.

Submit the patch after gerrit passes.

In cases where gerrit fails, checks for issues similar to this:

then disable object team like this

Make the build visible

Run the following job with appropriate parameter as given in the example:

DROP_ID              I20190109-1800 (copy the build ID here) (make sure there is no space before or after the ID)
CHECKPOINT           M1 (blank for final releases)
STREAM               4.15.0 (4.14.0 etc.)
DL_TYPE              S (S is used to promote I-builds)

Note: It usually takes few minutes to make the build visible and if build is not visible after 30 mins on downloads page and it's visible on below page:

Then run job: [Again wait for 30 mins to reflect the changes.]


Finally, after Milestone builds promotion, disable Milestone build scheduled for the build job used in the preliminary steps. (comment out with #)

Send a note to mailing lists platform-releng-dev, eclipse-dev, equinox-dev, platform-dev about the availability of the release and a reminder about the next milestones if any. For e.g.,

       We are pleased to announce that 2019-03 M1 is available for download and updates.
       Eclipse downloads:
       Update existing (non-production) installs:
       Specific repository good for building against:
       Equinox specific downloads:
       Thank you to everyone who made this checkpoint possible.

Should there be a request for milestone, here is the schedule for RC4:

 Sep 6, 2017         Wednesday    4.7.1 RC4 candidate build
 Sep 7, 2017        Thursday     Defect verification and signoff
 Sep 8, 2017         Friday         Promotion and contribution to Simrel

Update JDT Compiler (Note: Required for M2 milestone as well)

- Deployment of JDT compiler after every milestone

- After every milestone and release we should update the ECJ compiler used by the build and in maven repo

- Open a bug for this, for eg: 543355

- Run the job to copy and deploy the ECJ compiler -

Search for version of below plugins directory e.g.
Below are required job build parameter:

 //org.eclipse.jdt.core_ NOT REQUIRED WITH THE NEW JOB
 //org.eclipse.jdt.compiler.apt_ NOT REQUIRED WITH THE NEW JOB
 org.eclipse.jdt.core.compiler.batch_ JUST THIS IS REQUIRED

- You can manually check if the compiler is copied on below site(takes few minutes to update):

- Update the versions in eclipse-platform-parent/pom.xml in eclipse.platform.releng.aggregator.git repo. (search for cbi-ecj)

Update EMF (Bug 545717), ECF (BUG 545718) and/or Orbit (Bug 545719) of Maintenance branch

After every release we should update the orbit url in the maintenance branch created for the release to use the release location.
Open a bug for this, sharing an old git commit from the same:
Files to be updated are: eclipse.platform.releng.prereqs.sdk/

Enable API Freeze report after RC1

Open a bug 545053

Change build-functions.shsource file and update below two parameters:

TRIGGER - FRIDAY, Milestone Week, Only for RC2, After Promotion:

Create a bug for branch creation - see here for example Bug 545104 - Create R4_11_maintenance branch from 4.11RC2
Create bug for moving I builds - eg: Bug 545103 - Move I-builds to R4_11_maintenance branch
Create bug for master preparation - Bug 545088 - Prep work for 4.12 and open master for development

After RC2:

- Checking Composite states

Job to be run :

Might need some fixes like

- For New Eclipse version, the qualifiers for all the brand plug-ins / features are bumped up, this may require the force version increase of those features and plug-ins. Mails should be sent to eclipse-dev and platform-releng and it is the responsibility of Project leads to correct it.

Sample Bug : Bug 550777 - Version bumps for 4.14 stream

Sample reports are found at
Feature versions compared to reference repository
Bundle versions compared to reference repository

- Create Infrastructure bug similar to Bug 548564 - Umbrella Bug to record infrastructure issues during 4.13

Friday before release:


Change S to R

Checkpoint will be empty

Uncheck "Dry Run"

2. Contribute to Simrel

3. Upload to Maven Central Bug 551086 - Publish Eclipse 4.13 to maven central

Submit the first patch
Run PublishJDTtoMaven, PublishPDEtoMaven and PublishPlatformtoMaven giving the build number of previous step.
Copy content of baseline_new to baseline
Submit repo -> Release on the day of release

Script to update Product version in the complete Eclipse Code base:

- Update "" script with proper source and target version properly for all 4 mentioned files.

- From Shell command prompt go to "eclipse.platform.releng.aggregator" directory

- Then we should run the script using command: ./scripts/

- Above script will take around less than a minute max to update the complete Eclipse sources.

- Make sure to create the gerrit for for "eclipse.platform.releng.aggregator" in first place - IIRC gerrit build will fail for this change, you can commit without gerrit validation

- After committing above change, you need to deploy the POM for the new Eclipse version 4.14

- e.g. For new Eclipse release 4.14 [Note: version value will change depending on the release] rub below jobs:

- Now create the gerrit patches for all sub-modules which should pass.

- Finally commit all the modified files in each of the individual submodules of Releng.

Tagging after a release (on GA day):

All projects can be tagged with the required tag after a release at one go using the following job (if you have the permission, i.e.):

Important Links:

Temporary build location used by releng build jobs -

Temporary build location for Update site -

Creating maintenance branch:

For GA:

1. Cleanup of download page
2. Archive the release builds
3. Update the update url in SimRel repo

After GA:

Release Engineering Build schedule - Update

Refer to previous release schedule and remember to add special schedules during milestone week or quite week.

Sample clean up script on GA day (USE WITH CAUTION SINCE DELETION HAPPENS)

cd /shared/eclipse/builds/4I/siteDir/eclipse/downloads/drops4/ rm -rf I20191123-0100

  1. rm -rf S-* I20191030-1800 I20191031-1325 I20191031-1800 I20191101-0300 I20191101-1800 I20191102-1800 I20191103-1800 I20191104-1800 I20191105-0025 I20191105-1800 I20191106-1805 I20191107-1800 I20191108-1800 I20191109-0330 I20191109-0650 I20191109-1800 I20191110-1800 I20191111-0145 I20191111-0435 I20191111-0655 I20191111-0920 I20191111-1800 I20191112-1800 I20191113-1800 I20191113-2315 I20191114-0410 I20191114-1800 I20191115-1800 I20191116-0600 I20191116-1800 I20191117-0600 I20191117-1800 I20191118-0600 I20191118-1800 I20191118-2230 I20191119-0020 I20191119-0315 I20191119-0510 I20191119-0725 I20191119-0840 I20191119-0850 I20191119-1155 I20191119-1215 I20191119-1235 I20191119-1250 I20191119-1800 I20191119-2200 I20191120-0600 I20191120-0840 I20191120-1800 I20191120-2335 I20191122-1800 I20191123-010 I20191123-0600 I20191123-1115 I20191123-1800 I20191124-0600 I20191124-1800 I20191125-0600 I20191125-1800 I20191126-0600 I20191126-1800 I20191126-2315 I20191127-0600 I20191127-1800 I20191129-1800 I20191130-0600 I20191130-1800 I20191201-0600 I20191201-1800 I20191202-0600 I20191202-1800 I20191203-0600 I20191203-1800 I20191204-0600 I20191204-1800 I20191209-2205 I20191210-0425 I20191210-0450 I20191210-0505 I20191210-0530 I20191210-0545 I20191210-0600 I20191210-1800 I20191211-0135 I20191211-1805 I20191212-1800 I20191213-0155 I20191213-1805 I20191214-1800 I20191215-1800 I20191216-1805 I20191217-1800

cd /home/data/httpd/ rm -rf I20191028-1800

  1. rm -rf I20191202-0600 I20191125-0600 I20191118-0600 I20191104-1800 I20191014-1800 I20191007-0625 I20190930-1800 I20190923-0615 I20190916-1800 I20190909-1520
  2. rm -rf S-* R-4.11-201903070500
  3. cp -r R-4.14-201912100610 /home/data/httpd/
  1. cd /home/data/httpd/
  2. rm -rf R-4.11-201903070500 S-*
  3. cd /shared/eclipse/builds/4I/siteDir/equinox/drops/
  4. rm -rf I2019* S-*
  1. cd /home/data/httpd/
  2. time rm -rf 4.14-I-builds

cd /shared/eclipse/builds/4I/siteDir/updates time rm -rf 4.14-I-builds

Clean up after incorrect promotion

During promotion there are three folders that gets created after renameAndPromote job.

milestone repository or release repository composite will get updated after stage2DeferredMakeVisible job.

Removal of 3 promoted folders

The folders are located at

  1. eclipse downloads /home/data/httpd/<buildid>
  2. equinox downloads /home/data/httpd/<buildid>
  3. Repository /home/data/httpd/<release>milestones/<buildid>

buildid is calculated <S|R>-<version><Milestone>-<timestamp in date and time>

To remove above folder one needs to create a jenkins job on relend jipp and execute

Removal of build from a composite

to remove form composite we need to use p2 ant task. For this we need to run eclipse in command line and use removeFromComposite.xml script to remove a build from composite.

Please Note: this needs to be run before removal of promoted folders

Maven build setup for release engineers

Setup Maven

1. Recommended OS is linux. On windows you'll encounter issues with long path names. Another recommendation is create a linux machine on fyre in either SVL or RTP for this setup. Maven build requires high speed connectivity to maven central,, etc. Connectivity from ISL locations is not stable enough for this.

2. Install JDK 11

3. Export JAVA_HOME with JDK 11 root folder (put it in your .bash_profile)

4. Get apache maven from

5. Extract the maven from the zip file

6. Add <maven home>/bin and $JAVA_HOME/bin to your PATH (put in your .bash_profile or alternately in .bashrc on Ubuntu)

7. run mvn -version: Out put should similar to this

Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T11:41:47-07:00)
Maven home: /home/sravanl/maven/apache-maven-3.6.0
Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-862.14.4.el7.x86_64", arch: "amd64", family: "unix"

Setup repository

1. Clone eclipse.platform.releng.aggregator repository

$> git clone --recurse-submodules

2. To update git repos to latest on master use the following script

 git clean -f -d -x
 git submodule foreach git clean -f -d -x
 git reset --hard HEAD
 git submodule foreach git reset --hard HEAD
 git checkout master
 git submodule foreach git checkout master
 git pull --rebase
 git submodule foreach git pull --rebase

Use the following command to build Eclipse platform from the root folder of eclipse.platform.releng.aggregator

 $> mvn -U clean verify -DskipTests=true 
 optional parameter -l <log file> this will put the complete build log into a file

Removing one/many platform from SWT Native Build during I Build

Configure the Job SWT-native-build

Go to the "Build" Section

Alter the "Projects to build" Ex: To remove the native build for ppcle remove the project gtk_linux_ppc64le

Complete list is win32_x86_64,gtk_linux_x86_64,cocoa_x86_64,gtk_linux_ppc64le,gtk_linux_aarch64

Update bundles/org.eclipse.swt/buildSWT.xml like

Re trigger the Job to verify

Releng Gerrit Configuration

Goal to be added under Build->Invoke top-level Maven targets


BETA_JAVAXX Release Tasks

Although this is not exactly a usual release engineering task, we release a new Java version support every six months. Follow this:

Back to the top