Hi,
Yesterday during SQUAD sync we discussed strategies for marking baselines instead of having them marked automatically as a previous builds. This has been suggested before here, and here.
By default, every finished build becomes the baseline of the next finished build. Two alternatives to tell SQUAD not to mark a finished build as baseline are as follows (to be implemented): a) go to build's page > build settings > check 'ignore as baseline' option; anyone with write permissions to that build's project is allowed to change its settings; b) calling qa-reports.l.o/api/createbuild passing 'is_baseline=false' as POST before calling qa-reports.l.o/api/submitjob In absence of 'is_baseline', the build will be marked as baseline by default, for backwards compatibility.
Before discussing edge cases, take example below (considering option b above is being used to submit builds to Squad):
+------------+-----------------+-------------+ | build | is_baseline | baseline | +------------+---------------- +-------------+ | build101 | false | build100 | | build102 | false | build100 | | build103 | ----- | build100 | | build104 | ----- | build103 | | build105 | false | build104 | | build106 | false | build104 | +------------+-----------------+-------------+
1. If build104 is later manually marked as not being a baseline, through UI, then build103 automatically becomes the current baseline.
2. If in the event above, Squad will *NOT* re-run test comparisons for build106 and build105 against build103.
I think we discussed other edge cases, but I can't remember them now.
Charles