Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cbi-dev] Some feedback on the build prototype

On Thu, Dec 22, 2011 at 10:29 PM, Igor Fedorenko <igor@xxxxxxxxxxxxxx> wrote:
Looking at 3.8M4 maps [1], it appears that current PDE/Build often picks
different tags from the projects coming from same git repository. Can I
assume this is left-over from CVS and single git commit will be used to
build all projects from one git repository?

[1] http://download.eclipse.org/eclipse/downloads/drops/S-3.8M4-201112091447/directory.txt


No, it uses all the tags.   In PDE the git fetchfactory:
1) clones one git repo into a "cache" location
2) checkout each tag specified in the map file
3) copies each project into the <buildDir>/plugins and <buildDir>/features directories

PDE build in general has 2 phases, where first it gets the feature.xml from the build feature, and uses that to build the entire list of included features it needs and all of their plugins.  Then it gets all the projects, using the git fetchfactory steps above.

The nightly build would be the equivalent of just taking a snapshot (from master).

Since our move to git we've started submitting for the I build using branches, and depending on the build to auto-tag the bundles:

1) before each integration build, each team sets the "integration" branch to the commit for their build input

2) we have an auto-tagging script that for each map file entry: tags the last commit with that commit's UTC timestamp (v<date-time>), and updates that map file entry.

Then our I build runs as usual, with the input from the map files.

Arguably you can get the same results from the above I-build auto-tagging/map process if you just build integration (or the branches specified in the tagging/repositories.txt file) and each project's qualifier is calculated off the last commit to touch that project, v<UTC timestamp>


Other info: I think (although I'm not 100% sure) that the git fetch factory can differentiate the tag used to checkout a bundle and the qualifier used while building that project, but we have no tooling to use that at the moment.

PW

--
Paul Webster
Hi floor.  Make me a sammich! - GIR


Back to the top