Opened 15 years ago
Last modified 15 years ago
#427 new defect
dry-run try to build only the last build
Reported by: | anonymous | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | Build slave | Version: | 0.5.3 |
Keywords: | Cc: | osimons | |
Operating System: | BSD |
Description
The bitten-slave have a '-n' option (dry-run). This option try to build pending builds but did not send datas to the master.
Actualy when the -n option is used, bitten-slave act as if the '--single' option is also given, and try to build only the last pending buid, and not the other builds.
How to reprodure
1) have more than one pending build 2) lauch the bitten slave with the '-n' option for example :
bitten-slave --config=bitten-slave.ini --keep-files --work-dir=. --build-dir=. -n http://bitten.edgewall.org/builds3) compare with this command :
bitten-slave --config=bitten-slave.ini --keep-files --work-dir=. --build-dir=. http://bitten.edgewall.org/builds
In the first case, only the last pending build will be dry-run done, the other pending build are ignored.
Hmm. The slave 'calls home' to get the recipe from the server that then sets the build to 'pending'. The slave then cancels the build to clear pending status, and as other cancel actions from build failures it also exits the slave.
And, if the slave then cancels but keeps running it will be provided with the same build again from the server... Not so useful, really.
This would take some reorganizing to get done - is it really important that it is done this way? I can see the need for a slave to test differnet builds, but perhaps a better way is some way of specifying that config and/or build id to target for dry run? Instead of just a dry-run for the first build the master decides that the slave should build? Not sure how that should be done either - just some loud thinking at this stage.