Skip to main content
Jump to: navigation, search

Difference between revisions of "SWT/Native Builds on Foundation"

< SWT
(Force Build Natives)
 
(One intermediate revision by the same user not shown)
Line 24: Line 24:
 
== Build Schedule ==
 
== Build Schedule ==
  
1-SWT-Increment_if_needed job is scheduled to run automatically everyday before the I-build.  
+
1-SWT-Increment_if_needed job is triggered automatically by the I-build job as the first step.
Here is the schedule:
+
* schedule for milestone week and RC phase
+
** 0 7 * * 7,1,2,3,6
+
** 0 19 * * 5,7,1,2,3
+
** 0 12 * * 6
+
* regular I-builds
+
** 0 19 * * 1,2,3,4,5,7
+
** 0 12 * * 6
+
  
 
== Manual Build Input ==
 
== Manual Build Input ==
Line 39: Line 31:
 
== Force Build Natives ==
 
== Force Build Natives ==
 
1-SWT-Increment_if_needed job will exit if there are no changes in the repos for a new build. And if there are no changes in the source repo that require native build, then natives will not be built.
 
1-SWT-Increment_if_needed job will exit if there are no changes in the repos for a new build. And if there are no changes in the source repo that require native build, then natives will not be built.
To force native build in this case, pass -Dbuild_changed=true -Dnatives_changed=true while executing target <new_build_with_create_file>.
+
 
 +
To force native build in this case, uncomment these lines in the job.
 +
#touch "${WORKSPACE}/tmp/build_changed.txt"
 +
#touch "${WORKSPACE}/tmp/natives_changed.txt"
  
 
== Test Native Builds ==
 
== Test Native Builds ==

Latest revision as of 05:36, 9 July 2019

SWT Native Builds are run on the Eclipse Foundation Infrastructure. (Associated bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=476642)

The Jobs are on the Releng HIPP and can be seen in the SWT Natives view (https://hudson.eclipse.org/releng/view/SWT%20Natives/)

The SWT Native build has been broken down into multiple steps. There are separate jobs for each of these steps and they run in a sequence automatically.

Sequence of the jobs:

Step1: 1-SWT-Increment_if_needed

Clones the SWT source and binaries repo and checks the java compilation. Checks for source and native changes in the repo. If there are no changes in the repo, then the Build exits at this step. If natives_changed = true, then jobs to build the SWT libraries are triggerred. 1. SWT-native-build 2. win32_x86, win32_x86_64, gtk_linux_x86, gtk_linux_x86_64, cocoa_x86_64, gtk_linux_ppc64, gtk_linux_ppc64le 3. swt-collect-libs

Step2: 2-SWT-Commit_Binaries_and_Tag

Generates and Writes the qualifier to pom file source and binaries repo\ Commits the changes in source and binaries repo Tags the commits

Step3: 3-SWT-git_push

Pushes the commits in source and binaries repo to remote

Build Schedule

1-SWT-Increment_if_needed job is triggered automatically by the I-build job as the first step.

Manual Build Input

To do a SWT build input, go to Job 1-SWT-Increment_if_needed - https://hudson.eclipse.org/releng/view/SWT%20Natives/job/1-SWT-Increment_if_needed/ and build now. This will automatically run all the other jobs and push the changes/tags to the repos.

Force Build Natives

1-SWT-Increment_if_needed job will exit if there are no changes in the repos for a new build. And if there are no changes in the source repo that require native build, then natives will not be built.

To force native build in this case, uncomment these lines in the job.

  1. touch "${WORKSPACE}/tmp/build_changed.txt"
  2. touch "${WORKSPACE}/tmp/natives_changed.txt"

Test Native Builds

You can test if the native builds will run successfully on any of the platforms by running the respective test build jobs (without running through all the steps). Below are the test build jobs:

  • Test-build-swt-win32-x86_64
  • Test-build-swt-win32-x86
  • Test-build-swt-cocoa-x86_64
  • Test-build-swt-gtk-x86
  • Test-build-swt-gtk-x86_64

Back to the top