[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 2/6] CI: Remove guesswork about which artefacts to preserve


  • To: Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • From: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • Date: Wed, 4 Jan 2023 01:18:46 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=eqOY2ksHn1dUxyXx0p4brYvZm8CgsRTAnDvPno2SXMU=; b=R64kivNJImWCR+4n54KC9VBP/NI8x4cJe9gGN5vvbA+VhHuKszB09VsylC52SM+kyeCq6QRzsYSsEiZs4tTuBssj7AhSdS1RChwmkhQ81dGe2WkkCOzaNqgMBUdb0irl6aKl1PZjyIHsd2GPMA6Tfdhyx5ncHjfQ1gR9RtmY4+pIp0kzzi9Ft4DvHPmlPoRGwebfneSTvj1560eToN1yRGl3QdPraAy6L9Ng1zPsX1h8SZkIASPZY91DI666gD64FG3GGG2yM2FMR2RtxUkt0iOMPylLhRgUmDeesE9n78sn6IYPF2hNnaqg99vIcU24e4zw1U0TEL2vQqX3Tpe71Q==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KexJpr9wgWU1QiwPzIyza/NBjZfYyhJGuUIwvIrS0oXyTbRL47jIaJCS4OKsfjTaCADleOsFH9cQEkMfZ8VpBgZ23D87LLqz1tonN7DQCtlD3kfDnPhW4goQkWASuxeB4QYZKfOI+f8tqbnk+FRyGXoNU9QADsVG6GINLBwDSa18Y0QqHGZGalpe3wGAKAGrTAikCa8Rop5k8oJqYEBeA2CBgJYPJltk8fXwvEV/x7kDAsyLYUh3RmS4Ecg/kKjKCwafc3dSRRCVDltJzATDBXXU5TeX5Ac5JwhTAlbFHjhxh1wnUwCIqWVIdfs/BJW1C38uHiLZafNkIf6UkSm2fg==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Doug Goldstein <cardoe@xxxxxxxxxx>, Anthony Perard <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
  • Delivery-date: Wed, 04 Jan 2023 01:18:57 +0000
  • Ironport-data: A9a23:uQtTcaJdowZapfqTFE+RMZQlxSXFcZb7ZxGr2PjKsXjdYENS1WQGm mRKXmiEM66JZWDzKd9wbN/lpx5UvMXVmtUxQVdlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mhA5wRlPa0jUGL2zBH5MrpOfcldEFOgKmVkNrbSb /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/ jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c55AjBiq eVGEAs8YzWngsa1+LG7aOpj05FLwMnDZOvzu1lG5BSAVbMKZM6GRK/Ho9hFwD03m8ZCW+7EY NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dnpTGLlWSd05C0WDbRUvWMSd9YgQCzo WXe8n6iKhobKMae2XyO9XfEaurnzHqnB99ISOXQGvhC2GSq4nQ+DQcqa3ih/Min03GzUol7N BlBksYphe1onKCxdfHmRAGxqnOAuh8aWvJTHvc85QXLzbDbiy6JC25BQjNfZdgOsM4tWSdsx lKPh8nuBzFkrPuSU3313rydtz+1NAAeJHUOYiJCRgwAi/HmoYozhxaJScxxHaqdh9j5Xzr3x liiqywzhK4SjIgIyr+89lDEhBqjo5HISkg+4QC/Y46+xgZwZYrga4n271HetK5ENNzAFgDHu 2UYkc+D6uxIFYuKiCGGXOQKGveu+uqBNzrfx1VoGvHN6giQxpJqRqgIiBkWGaujGp9slePBC KMLhT5s2Q==
  • Ironport-hdrordr: A9a23:oR5fUagVgY0Y7I1Gq9jpB7YwxnBQXvwji2hC6mlwRA09TyXPrb HVoB0+726MtN93YgBHpTngAtjmfZq4z/RICOYqTNSftWXd2FdAT7sSibcKoQeQeREWrdQtrZ uIGpIWYLbN5DNB/KPHCWeDcuoI8Z2u7L2vnuvGymcFd3AQV0ii1WtE48Sgf3GeiDMoOXPxLv Sh2vY=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHZG+cbH36uve2aEUGxm9tAfYRLqK6NeucAgAACRYA=
  • Thread-topic: [PATCH 2/6] CI: Remove guesswork about which artefacts to preserve

On 04/01/2023 1:10 am, Stefano Stabellini wrote:
> On Fri, 30 Dec 2022, Andrew Cooper wrote:
>> Preserve the artefacts based on the `make` rune we actually ran, rather than
>> guesswork about which rune we would have run based on other settings.
>>
>> Note that the ARM qemu smoke tests depend on finding binaries/xen even from
>> full builds.  Also that the Jessie-32 containers build tools but not Xen.
>>
>> This means the x86_32 builds now store relevant artefacts.  No change in 
>> other
>> configurations.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
>> ---
>> CC: Doug Goldstein <cardoe@xxxxxxxxxx>
>> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
>> CC: Anthony PERARD <anthony.perard@xxxxxxxxxx>
>> CC: Michal Orzel <michal.orzel@xxxxxxx>
>> CC: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
>> ---
>>  automation/scripts/build | 22 ++++++++++++++--------
>>  1 file changed, 14 insertions(+), 8 deletions(-)
>>
>> diff --git a/automation/scripts/build b/automation/scripts/build
>> index 5dafa72ba540..8dee1cbbc251 100755
>> --- a/automation/scripts/build
>> +++ b/automation/scripts/build
>> @@ -70,18 +70,24 @@ if [[ "${CC}" == "gcc" && `cc-ver` -lt 0x040600 ]]; then
>>      cfgargs+=("--with-system-seabios=/bin/false")
>>  fi
>>  
>> +# Directory for the artefacts to be dumped into
>> +mkdir binaries
>> +
>>  if [[ "${hypervisor_only}" == "y" ]]; then
>> +    # Xen-only build
>>      make -j$(nproc) xen
>> +
>> +    # Preserve artefacts
>> +    cp xen/xen binaries/xen
>>  else
>> +    # Full build
>>      ./configure "${cfgargs[@]}"
>>      make -j$(nproc) dist
>> -fi
>>  
>> -# Extract artifacts to avoid getting rewritten by customised builds
>> -mkdir binaries
>> -if [[ "${XEN_TARGET_ARCH}" != "x86_32" ]]; then
>> -    cp xen/xen binaries/xen
>> -    if [[ "${hypervisor_only}" != "y" ]]; then
>> -        cp -r dist binaries/
>> -    fi
>> +    # Preserve artefacts
>> +    # Note: Some smoke tests depending on finding binaries/xen on a full 
>> build
>> +    # even though dist/ contains everything, while some containers don't 
>> even
>> +    # build Xen
>> +    cp -r dist binaries/
>> +    if [[ -f xen/xen ]] ; then cp xen/xen binaries/xen; fi
> why the "if" ?
>
> You could just:
>
> cp xen/xen binaries/xen
>
> unconditionally?

No - the script is `set -e` and xen/xen doesn't exist in the Jessie32
containers.

That's why the old logic had an "if not x86_32" guard (except it also
guarded the regular dist -> binaries/ copy which is problematic).

At a guess, the other working option would be `cp xen/xen binaries/xen || :`

I don't much care which of these two gets used, but pretty much anything
else results in a failed test.

~Andrew

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.