Le 04/11/2024 à 12:25, Yoann Congal a écrit :
> Hi,
> 
> 
> Le 29/10/2024 à 11:09, Yoann Congal a écrit :
>> From: Yoann Congal <yoann.con...@smile.fr>
>>
>> The current reproducibility test stops all build tasks when a single
>> task fails (default BitBake behavior). This means that a single build
>> failure prevents the reproducibility of other packages from being
>> tested, which is not ideal.
>>
>> To address this, we now use the --continue option of BitBake during test
>> builds, allowing the build process to proceed even when some tasks fail.
>> The failure cases are handled as gracefully as possible.
>>
>> In the event of a build failure:
>> - The entire reproducibility test will be considered a failure.
>> - The complete BitBake log will be saved in the "saved output" directory
>>   to facilitate debugging. On the autobuilder, this log should be
>>   available at https://autobuilder.yocto.io/pub/repro-fail/.
>> - The last 20 lines of the log, which should show the failing recipes,
>>   will be displayed in the oe-selftest console.
>> - If BitBake fails to create the deployment directory, it will be
>>   manually created to allow the comparison process to proceed.
>>
>> Here is what the output looks like when testing reproducibility of bash,
>> a failing recipe (hello-fail) and a non-reproducible recipe
>> (hello-norepro):
>>
>>   <snip>
>>
>> => "reproducible.ReproducibleTests.test_reproducible_builds".status is
>> correctly "FAILED" but the reproducibility of bash and hello-norepro is
>> tested.
>>
>> Signed-off-by: Yoann Congal <yoann.con...@smile.fr>
>> ---
>> v2->v3:
>> * Added a missing end of line in config concatenation
>>
>> v1->v2:
>> * Upgrade some log from INFO to ERROR in the failing case to make it
>>   more visible in the logs.
>> Richard Purdie review:
>> * Simplify log handling
>> ---
>>  meta/lib/oeqa/selftest/cases/reproducible.py | 56 ++++++++++++++++----
>>  1 file changed, 47 insertions(+), 9 deletions(-)
> 
> That did not work in the https://valkyrie.yoctoproject.org/#/builders/87
> builder :
> https://valkyrie.yoctoproject.org/#/builders/87/builds/17/steps/40/logs/stdio
> Sorry about that :(
> 
> I'll look into this as soon as possible but I would totally understand
> if this patch is reverted in the meantime.

For what it's worth, with the fix [0], this worked as intended : in [1]
(reproducibility test for meta-gnome), geary fails to build but
reproducibility was still computed for other recipes.

But, this is not over since geary is displayed in the
"unused_exclusions" list (which is not wrong but not useful), a better
list would be "excluded package that were identical between build A and
build B". This list should serve as an argument to remove a package from
the known non-reproducible lists.

[0]:
https://git.openembedded.org/openembedded-core/commit/?id=e89bbc00ba16574d719b199c01ffbf37646f4f54
[1]:
https://valkyrie.yoctoproject.org/#/builders/87/builds/18/steps/16/logs/stdio
-- 
Yoann Congal
Smile ECS - Tech Expert
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#206907): 
https://lists.openembedded.org/g/openembedded-core/message/206907
Mute This Topic: https://lists.openembedded.org/mt/109274319/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to