From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] livetime of boards
Date: Thu, 07 Nov 2013 11:39:08 +0100 [thread overview]
Message-ID: <527B6DCC.80605@denx.de> (raw)
In-Reply-To: <527B5F54.4080501@gmail.com>
Hello Andreas,
Am 07.11.2013 10:37, schrieb Andreas Bie?mann:
> Hello all together,
>
> On 11/07/2013 09:17 AM, Heiko Schocher wrote:
>> Am 06.11.2013 08:50, schrieb Wolfgang Denk:
>>> In message<20131105203736.GM5925@bill-the-cat> you wrote:
>
> <snip problem description>
>
> Full ACK, we need some way to track which board is working with the
> current ToT or at least on a release basis.
>
>>>>> So, the question raises, should we introduce a column in boards.cfg,
>>>>> which shows the "livetime" of a board support in U-Boot?
>>>>
>>>> I sense a lot of conflicting patches.
>>>
>>> Again I agree. Also, I fear that boards.cfg is becoming more and
>>> more unreadable by adding even more stuff. If I see this correctly,
>>> the maximum line length in boards.cfg already exceeds 360 characters
>>> :-(
>>
>> Right, boards.cfg gets unhandy ... Hmm .. what with the column
>> "Staus" ... instead of "Active" it would be more informative to have
>> there the livetime counter, and a single digit saves some characters ;-)
>
> I can't understand the status field at all, just for the record ;)
Hmm.. good question ...
>> But you are right, that approach leads in a lot of conflicting
>> patches ... but I think, we just pooled board information in boards.cfg,
>> so this would be the right place in my eyes ...
>>
>> Maybe we get such Information "a Boards is tested with current mainline"
>> inform of an EMail with an Text "Board xy tested with commit mm. Please
>> update livetime" ... and we can add a script, which updates the
>> livetime for this board, so we can prevent conflicting patches ... ?
>
> I agree here with Tom. Beside the possibility of conflicting pahces I
> see another problem here.
> We will get a lot of patches just for increasing the tested counter for
> a single board. These patches needs to be handled in some way. If we
> shift to some integrated system (gerrit comes to mind) this could be
> easier than today, but it will bind resources anyways.
> Therefore I think it is a bad idea to save a such often changing
> information in the source code repository.
I see this info just changing once when releasing a new U-Boot version.
I not see anymore a patch for updating the livetime counter for every
board, instead we should have a script which a board maintainer can call,
after he did a board test, which sends an EMail to the U-Boot ML with
a special format, saying:
------------------------------------
subject: livetime: board name
Tested-by: ...
with commit ...
------------------------------------
On the mailserver a script scans all incoming EMails for his Subject,
(Is this possible?)
and collect the infos, for which boards, such EMails arrived. When
releasing a new U-Boot version, this collected info can be used to
update this livetime counter through another script saying
"collect_livetime_info" (also this script can automatically send
EMails to board maintainers, for boards which had reached end of
livetime, outputs a delete board lists ...)
So (in current case Tom) should, before releasing a new U-Boot
version, first call this script "collect_livetime_info" and he get:
-> one livetime counter patch for current release
-> one list for boards which reach end of life
-> one list for boards, which should be deleted
All Infos are "release info" I think, and fully fit in the commit
for the new release ...
... maybe "deleting boards" can be done automatically, but this is
not a trivial job ...
So, with such a solution, I see no big additional cost for adding
such a feature (except the task "deleting old boards", which is maybe
not trivial)
Do not understand me wrong, if we find another solution, I am
happy also ... just spinning around ...
>>> So nstead of adding this information to boards.cfg we could probably
>>> use separate files for such information. We could provide tools to
>>> make test reports really easy, say something like
>>>
>>> scripts/build_test
>>> scripts/run_test
>>>
>>> which the user would just call with a "passed" or "failed" argument;
>>> the scripts could then auto-detect which configuration and which exact
>>> U-Boot version were in use, and send an email. Whether that would be
>>> a patch against the source code or something that get's auto-added to
>>> a wiki page is just an implementation detail. But if we had something
>>> like this, we could get a muchbetter understanding how actively boards
>>> are being tested.
>>
>> Yes, that sound also good. I want to see the test information in the
>> sourcecode, not somewhere on a wiki...
>
> I think another place than the source code repository would be best for
> gathering such frequently changing information. Why not use some wiki
> other other web service for that purpose?
See above explanation, I see this info not frequently changing, just
always with a new U-Boot release ... and can nearly (except the "delete
old boards" case) automatised ...
> I don't want to search a web page for the information 'board X is not
> tested since ...' either. But we could easily write some scripts and add
> them to the source code repository to provide it.
Ok, fine with me too. I just thinking about this problem, and how
we can fix it ;-)
>>> So when you're once again doing some change that requires touching
>>> files for some othe rboards, you could simply check that database. If
>>> you see that 3 out of the last 5 releases have reported succesful
>>> run-time tests you will probably decide to accept the needed efforts,
>>
>> Hmm.. that works, if you have to touch some (some< 5) boards. But
>> If you have to touch> 5 boards, this gets unhandy...
>
> How about:
>
> MAKEALL --check-boards -s at91
>
> ;)
;-)
>>> but when you see the last test report is more than 5 years old, you
>>> will probably rather decide to initiate a code removal process.
>
> Why not save the SHA1 with the build-/runtime-tested information? Then
> we could easily build helper scripts to query that database when this
> board was last tested.
Ok, also good idea.
>> If we decide to delete older boards after n release cycles without
>> testreports, we must not decide nor look in a database. We are
>> sure, we have only "good and working" boards ... and we just
>> do the necessary work for new features ... and we are sure, that
>> we get back testreports within n release cycles ...
>>
>> So let us decide first, if we want to go this way ...
>
> Yes, we should introduce some mechanism to check when a specific board
> was last runtime tested. But I fear the overhead with patches that
> update a tested counter.
I thought with "decide": Do we want to delete "old boards"?
With this, we do not need a "MAKEALL --check-boards -s at91" when
we introduce new features, as all boards in mainline are in a well
tested shape ...
Ok, two decisions:
- Do we want to collect board testinginformation?
- Do we want to delete old boards automatically after we do not get
some test reports after a time intervall?
bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
next prev parent reply other threads:[~2013-11-07 10:39 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-05 13:05 [U-Boot] livetime of boards Heiko Schocher
2013-11-05 20:37 ` Tom Rini
2013-11-06 7:50 ` Wolfgang Denk
2013-11-07 8:17 ` Heiko Schocher
2013-11-07 9:37 ` Andreas Bießmann
2013-11-07 10:39 ` Heiko Schocher [this message]
2013-11-07 11:13 ` Albert ARIBAUD
2013-11-07 11:42 ` Heiko Schocher
2013-11-07 12:06 ` Wolfgang Denk
2013-11-07 12:21 ` Heiko Schocher
2013-11-07 11:24 ` Andreas Bießmann
2013-11-07 11:52 ` Heiko Schocher
2013-11-07 12:12 ` Wolfgang Denk
2013-11-07 12:50 ` Heiko Schocher
2013-11-07 19:19 ` Wolfgang Denk
2013-11-08 5:31 ` Heiko Schocher
2013-11-08 7:19 ` Wolfgang Denk
2013-11-07 12:01 ` Wolfgang Denk
2013-11-07 12:16 ` Andreas Bießmann
2013-11-07 12:46 ` Heiko Schocher
2013-11-07 19:15 ` Wolfgang Denk
2013-11-08 5:28 ` Heiko Schocher
2013-11-08 6:20 ` Wolfgang Denk
2013-11-08 7:11 ` Heiko Schocher
2013-11-07 13:31 ` Tom Rini
2013-11-07 14:27 ` Andreas Bießmann
2013-11-07 19:26 ` Wolfgang Denk
2013-11-07 20:51 ` Tom Rini
2013-11-07 21:06 ` Wolfgang Denk
2013-11-08 5:35 ` Heiko Schocher
2013-11-08 4:58 ` Heiko Schocher
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=527B6DCC.80605@denx.de \
--to=hs@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox