And the thrist and last installment:
SERVING (Brian) ---------------
What we need to support: -- multiple publishers -- multiple files for the same build for each publisher -- various distribution policies
What we need to do: -- maintain a pool of releases as described in my previous mail. This is a map/hastable keyd by the published filename. -- persist this to disk, in case of server crash, load it from disk on startup. -- currently we use <program>/url.mask to get to the url mask. We need to add the publisher info in there, so this will need to change to: <publisher>/<program>/url.mask Similar for the other files. -- the rest remains unchanaged, as Brian correctly mentioned.
We can have different distribution policies: pick a random file, send all files, etc. Given that we have few published files, and tests are short, I suggest we send them all. So what we have to do is to add a loop around most of the script generation:
for file in pool: generate script commands to download it and run it
It looks like there aren't that many changes after all.