Bug 409072

Summary: [test] remove final mirror/comparator step in production builds
Product: [Eclipse Project] Platform Reporter: David Williams <david_williams>
Component: RelengAssignee: David Williams <david_williams>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: daniel_megert
Version: 4.3Keywords: test
Target Milestone: 4.3 RC3   
Hardware: PC   
OS: Linux   
Whiteboard:

Description David Williams CLA 2013-05-25 14:43:58 EDT
I'm counting this as "removing a test" because that's the reason it was originally put in (to make sure a "post build" comparator" would not find differences not found by Tycho comparator). 

And, it _might_ being contributing to bug 408944 ... even if so, there is no functional harm ... but admit seeing binary differences can be disconcerting (and, I do not think this is the only reason for binary differences, but would eliminate one possible source). 

I'll also note, it would only contribute to bug 408944 when combined with "sloppy" release engineers :) Both comparators, "during build" and "post build" work against the 4.3-I-builds composite repo. Normally, that is (and should be) cleaned out of all "old" I builds except the last one which was promoted as the milestone, release candidate, etc. But, admit, I forgot to do that after RC1 so might have been "more than one" matching bundles to "replace with", and which one is chosen I'm sure is non-deterministic, depending on VM used, etc, and maybe even if same VM (pretty sure we do use same VM in this case). 

But also, my other motivating factor is this step adds at least 20 if not 40 minutes to our production builds ... so ... good to remove for that reason alone. 

If/when we ever want a "mirror unit test" we can add that during the unit tests and avoid the build time.
Comment 1 David Williams CLA 2013-05-25 14:53:45 EDT
The fix for this is almost as easy as changing if (( 0 )) to if (( 1 )) in 

http://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/tree/production/publish-repo.sh#n84

because I left the "old method" in place based on that if statement. 

However, there are several reasons we still want to also call (a modified) version of "process-artifacts": 

http://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/tree/eclipse.platform.releng.tychoeclipsebuilder/eclipse/buildScripts/process-artifacts.xml

1) we still want to remove the "junk" IUs that are not required, except at build time. 

2) more important, we still want to call p2.process.artifacts to add md5 checksums to our IUs. (This is to work around a Tycho bug which has not yet been fixed, see bug 406263 for explanation and pointers to other bugs). 

3) also (while other ways of doing it) we want to make sure our content.xml file is jarred/compressed. 

Will be sure to do a test build, before committing.
Comment 3 David Williams CLA 2013-05-27 20:43:23 EDT
verified in I20130526-2000. 

I can see the "post build" comparator logs no longer created. 

I visually inspected content.jar/xml to make sure "master.feature.jar" was still removed. 

I visually inspected artifacts.jar/xml to make sure still had download.md5 property set.