eclipse / repairnator

Software development bots for Github. Join the bot revolution! :star2::robot::star2::revolving_hearts:
MIT License
384 stars 83 forks source link

Serialized files should be placed in output directory instead of in log #444

Open surli opened 6 years ago

surli commented 6 years ago

Reproducing step: Follow the step in https://github.com/Spirals-Team/repairnator#launch-repairnator-on-a-given-travis-build-id

Serialized files will be created your/path/logs instead of your/path/out

fermadeiral commented 6 years ago

Simon, I'm in the way of this issue, thus I will try to fix it. Let me ask you a thing. We have the arg createOutputDir in dockerpool module. Is it really necessary? It seems to me that we should always create an output dir, which would contains the serialized files, and then we would bring these files to your/path/out. Is that correct or is my thought completely wrong?

surli commented 6 years ago

In fact, it's a bit particular in dockerpool: I added the argument to be sure that the serialized output would be organized based on the runId. You have to understand that the output directory in dockerpool is given by the binding: if I specify that the output is /var/log and I bind it to the local directory /tmp/myoutput, everything created in the container in /var/log will be written in /tmp/myoutput. Now in Grid5000 I had to use that to obtain organized file.

The true question here is really: How do we want output to be organized? By day? So it means we should dynamically create a subdirectory with the current day and use it everywhere in Repairnator.

So pay also attention to the script to check that everything's working.

fermadeiral commented 6 years ago

The true question here is really: How do we want output to be organized? By day? So it means we should dynamically create a subdirectory with the current day and use it everywhere in Repairnator.

If we reach a consensus on that, than we are able to change everywhere for the same thing and make it work properly. Let's try to discuss first how we want in our local directory. Here I give a first shot to have a base for discussion:

1) repairnator_output (this is the directory for everything that repairnator will generate) 1.1) day_<day> 1.1.1) <run_id> 1.1.1.1) output (to store json and csv files) 1.1.1.2) logs (to store log files)

Then, I believe that for docker we would create the <run_id> directory, with two subdirectories (output and logs), and we would bring that to /<path>/repairnator_output/day_<day>

WDYT?