Subject: Cuirass: the 'nr' filter doesn't when builds have multiple outputs
From: Clément Lassieur <[email-masked]>
To: [email-masked]
Date: Sun, 29 Jul 2018 01:21:10 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

With, say, 'nr' = 4, the GROUP-OUTPUTS procedure in cuirass/database.scm
will transform

  0 | out   | /gnu/store/...
  1 | out   | /gnu/store/...
  1 | debug | /gnu/store/...
  2 | out   | /gnu/store/...

into

  ((#:id . 0) (#:outputs ("out"   (#:path . "/gnu/store/..."))))
  ((#:id . 1) (#:outputs ("out"   (#:path . "/gnu/store/..."))
                         ("debug" (#:path . "/gnu/store/..."))))
  ((#:id . 2) (#:outputs ("out"   (#:path . "/gnu/store/..."))))

Thus there are only 3 elements returned by the low-level DB-GET-BUILDS
procedure, while we expect 4.

This bug is visible through the API (latestbuilds, queue) and the web
interface (eval) because they use that DB-GET-BUILDS procedure.

Clément