Bug 492946 - make sure we can *re* do post build processing and publishing
Summary: make sure we can *re* do post build processing and publishing
Status: NEW
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Releng (show other bugs)
Version: 4.6   Edit
Hardware: PC Linux
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Platform-Releng-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-04 01:02 EDT by David Williams CLA
Modified: 2016-05-31 02:48 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Williams CLA 2016-05-04 01:02:30 EDT
Given recent connection problems that cause a failure after a build is complete, seems prudent to improve the scripts to make sure we can always re-publish. This includes 

- some "post build processing" (such as create the dirt report, comparator warnings, and similar). 

- "publishing" eclipse
- "publishing" equinox
- promote eclipse to download site
- promote equinox to download site
- start the unit tests
- (and probably more I am forgetting). 

I think one main issue and one convenience we might be able to solve at the same time. 

Currently, there are different scripts and functions for each of those parts above. Some (or all) of them assume certain things have already been done, and does not attempt to re-do them. Others may "check if done" but typically are sort of "dumb" tests (for example, it checks if the platform and tools have been installed by looking for a directory, but the directory might exist, but perhaps the previous build failed because not all tools could be installed (i.e. so directory exists, but is not a complete install). 

So ... maybe use a "republish" flag which forces things to be "removed and re-installed"? 
Plus, if we had a "republish script" it would make things easier just to do all "post build" steps over again, and not to have to figure out "how far it got" the first time and similar.
Comment 1 David Williams CLA 2016-05-04 01:09:13 EDT
One other complication to remember, sometimes we have a "zip" of the "production files" we need, named with the hash of their version at the time of the build. 

Often that is what we want to use if we "re-do" things but, occasionally, such as if I just made a syntax error in a bash script, it would be helpful to be able to correct the file it Git and then use the new "master" version of the tools ... not the "saved hash" version of the scripts.
Comment 2 David Williams CLA 2016-05-31 02:48:48 EDT
One thing that accomplished most of what we need -- that we have run into lately with "connection problems", etc. has been codified in a bash script named 
"republish.sh" in the production directory. 

There are several ways to use it, but it removes some stuff, updates some values, and calls "publish-eclipse.sh". 

It has not been widely tested, but locally it "does the basics". 

But, some warning, a fair knowledge of what is going on is required to make the best use of it -- it is not something that "cures all ills" nor would it be "completely safe" for just anyone to use. (Well, it would not really harm anything, but may overwrite things not intended to be overwritten).