Re: [Tails-dev] Automated builds specification

Delete this message

Reply to this message
Author: intrigeri
Date:  
To: The Tails public development discussion list
Old-Topics: Re: [Tails-dev] Automated builds specification
Subject: Re: [Tails-dev] Automated builds specification
Hi,

[This is about builds triggered by uploads to our APT repository.]

anonym wrote (30 Mar 2015 07:48:28 GMT) :
> On 29/03/15 15:04, bertagaz wrote:
>> However, one point it raises (added to the blueprint) is determining who
>> would be notified of this kind of build on failure.


Given the way we've chosen to implement post-APT-upload builds for
this first iteration, I have my doubts wrt. whether we can distinguish
such builds from other ones. It may be that we simply can't, so
perhaps it doesn't make much sense to discuss failure notification for
this case in isolation from the general case... because we won't be
able to implement a different behaviour (yet). Did I miss something?

So, below I'll discuss the general case of build failure notification.

>> Multiple options are maybe to consider:
>>
>> * Notify every core devs that has upload access on our reprepro.


> I think notifying the last Git committer would be correct 90+% of the
> time, instead of spamming everyone 100% of the time (=> will make people
> ignore build failure notifications). [...]


Full ACK. That's what the blueprint says for the general case already.

> Wild (possibly unrelated) idea: instead of only notifying the author of
> the last commit of a topic branch, what about notifying all authors of
> the topic branch since it deviated from the base branch? E.g.


>     git log --pretty="format:%an <%ae>" ${BASE_BRANCH}.. | sort -u


Interesting. I seem to remember having seen something like that
available as an option in Jenkins' Git plugin. I suggest we start by
notifying the author of the last commit, and keep this alternate idea
in mind if that's not enough. Thoughts?

>> * Change our packaging habits and put our emails in the changelog.


> It sounds good, but not without problems. Sometimes we upload packages
> we haven't built ourselves, e.g. I often upload I2P packages built by
> KillYourTV.


We're actually sending to reprepro the "who did the upload"
information, as part of the signature on the .changes file. However,
I think we're ditching this information as soon as the package is
imported. If we want to use this information in any way, we'll have to
keep it around somehow. Anyway, IMO that's long-term, and no idea if
it's worth bothering yet. Time will tell.

> Also, I guess we need to filter out authors that are not Tails "core"
> developers, so they do not get build failure notifications. This applies
> to both packages uploaded (when we upload a package built by a 3rd
> party), and Git (patches). Hmm.


Why?

> This makes me think that we should perhaps look at Git committer
> name/email in Git instead of the author.


Indeed, Git has separate committer and author "metadata fields" for
each commit. But I don't understand what exactly you're suggesting we
use them for -- may you please elaborate on this idea?

Cheers!
--
intrigeri