diff mbox series

Re-enable riscv64-debian-cross-container (debian riscv64 is finally usable again!)

Message ID 20240502194046.830825-1-mjt@tls.msk.ru
State New
Headers show
Series Re-enable riscv64-debian-cross-container (debian riscv64 is finally usable again!) | expand

Commit Message

Michael Tokarev May 2, 2024, 7:40 p.m. UTC
Revert "gitlab-ci: Disable the riscv64-debian-cross-container by default"
This reverts commit f51f90c65ed7706c3c4f7a889ce3d6b7ab75ef6a.

Hopefully it wont be very unstable.

Since riscv64 is now a release architecture in debian, we can try switching
to debian testing instead of debian sid.  Also, debian-ports part of the
archive isn't needed anymore.

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
---
 .gitlab-ci.d/container-cross.yml | 1 -
 1 file changed, 1 deletion(-)

Comments

Michael Tokarev May 2, 2024, 7:59 p.m. UTC | #1
https://gitlab.com/mjt0k/qemu/-/jobs/6768635797  fwiw.

/mjt
Richard Henderson May 2, 2024, 8:05 p.m. UTC | #2
On 5/2/24 12:40, Michael Tokarev wrote:
> Revert "gitlab-ci: Disable the riscv64-debian-cross-container by default"
> This reverts commit f51f90c65ed7706c3c4f7a889ce3d6b7ab75ef6a.
> 
> Hopefully it wont be very unstable.
> 
> Since riscv64 is now a release architecture in debian, we can try switching
> to debian testing instead of debian sid.  Also, debian-ports part of the
> archive isn't needed anymore.

So... please update debian-riscv64-cross.docker.

> 
> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
> ---
>   .gitlab-ci.d/container-cross.yml | 1 -
>   1 file changed, 1 deletion(-)
> 
> diff --git a/.gitlab-ci.d/container-cross.yml b/.gitlab-ci.d/container-cross.yml
> index e3103940a0..dbffed3f21 100644
> --- a/.gitlab-ci.d/container-cross.yml
> +++ b/.gitlab-ci.d/container-cross.yml
> @@ -77,7 +77,6 @@ riscv64-debian-cross-container:
>     allow_failure: true
>     variables:
>       NAME: debian-riscv64-cross
> -    QEMU_JOB_OPTIONAL: 1

But you can't do this until the above is done.


r~
Michael Tokarev May 2, 2024, 8:08 p.m. UTC | #3
02.05.2024 23:05, Richard Henderson wrote:
> On 5/2/24 12:40, Michael Tokarev wrote:
>> Revert "gitlab-ci: Disable the riscv64-debian-cross-container by default"
>> This reverts commit f51f90c65ed7706c3c4f7a889ce3d6b7ab75ef6a.
>>
>> Hopefully it wont be very unstable.
>>
>> Since riscv64 is now a release architecture in debian, we can try switching
>> to debian testing instead of debian sid.  Also, debian-ports part of the
>> archive isn't needed anymore.
> 
> So... please update debian-riscv64-cross.docker.

debian-riscv64-cross.docker is generated by lcitool.
It looks like lcitool has to be updated for this.

>> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
>> ---
>>   .gitlab-ci.d/container-cross.yml | 1 -
>>   1 file changed, 1 deletion(-)
>>
>> diff --git a/.gitlab-ci.d/container-cross.yml b/.gitlab-ci.d/container-cross.yml
>> index e3103940a0..dbffed3f21 100644
>> --- a/.gitlab-ci.d/container-cross.yml
>> +++ b/.gitlab-ci.d/container-cross.yml
>> @@ -77,7 +77,6 @@ riscv64-debian-cross-container:
>>     allow_failure: true
>>     variables:
>>       NAME: debian-riscv64-cross
>> -    QEMU_JOB_OPTIONAL: 1
> 
> But you can't do this until the above is done.

I don't see a reason why not.  Adding debian-ports archive does nothing
and doesn't hurt either.

Switching to testing is a different matter.

This thing works now with sid/unstable, this is what this patch is about.

Thanks,

/mjt
Richard Henderson May 2, 2024, 8:41 p.m. UTC | #4
On 5/2/24 13:08, Michael Tokarev wrote:
> This thing works now with sid/unstable, this is what this patch is about.

It worked when first introduced, then failed, then worked...
Sid is too unstable for our usage as a gating test.


r~
Michael Tokarev May 2, 2024, 8:54 p.m. UTC | #5
02.05.2024 23:41, Richard Henderson wrote:
> On 5/2/24 13:08, Michael Tokarev wrote:
>> This thing works now with sid/unstable, this is what this patch is about.
> 
> It worked when first introduced, then failed, then worked...
> Sid is too unstable for our usage as a gating test.

unstable can be unstable at times.  Generally it works, and can fail
during short periods.

riscv64 didn't work since it got promoted to release arch last year, due
to non-working multiarch because many riscv64 packages in debian had
different version numbers compared to other architectures (due to rebuilds
of binaries).  Later on whole sid was broken by a large time64 transition
and a lot of breakages in this area.  This is now being completed and
is migrated to testing, which is finally available for riscv64 too as
a release arch.

I wouldn't switch to testing just yet, because at this point, unstable
will usually be more stable, or, rather, it will be broken for much
shorter periods of time than testing, due to migration delays.

It will take some more time for debian testing to become more or less
stable in this context.  But lack of riscv testing already cost me a
*stable* release which failed to *build* (8.2.3 fails to build on
riscv64).  So I think it is more important to run this job on sid
than not to run it at all.

Thanks,

/mjt
Thomas Huth May 3, 2024, 5:06 a.m. UTC | #6
On 02/05/2024 22.08, Michael Tokarev wrote:
> 02.05.2024 23:05, Richard Henderson wrote:
>> On 5/2/24 12:40, Michael Tokarev wrote:
>>> Revert "gitlab-ci: Disable the riscv64-debian-cross-container by default"
>>> This reverts commit f51f90c65ed7706c3c4f7a889ce3d6b7ab75ef6a.
>>>
>>> Hopefully it wont be very unstable.
>>>
>>> Since riscv64 is now a release architecture in debian, we can try switching
>>> to debian testing instead of debian sid.  Also, debian-ports part of the
>>> archive isn't needed anymore.
>>
>> So... please update debian-riscv64-cross.docker.
> 
> debian-riscv64-cross.docker is generated by lcitool.
> It looks like lcitool has to be updated for this.

Updating lcitool isn't too hard. Simply type "make lcitool-refresh" in your 
build directory - this should initialize the tests/lcitool/libvirt-ci 
submodule and regenerate the dockerfiles. Then you can do your change in 
tests/lcitool/libvirt-ci and run the refresh command again to update the 
dockerfiles. Once you're happy with the results, fork 
https://gitlab.com/libvirt/libvirt-ci on gitlab, push your changes into your 
fork and then open a merge request against the upstream libvirt-ci repository.

>>> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
>>> ---
>>>   .gitlab-ci.d/container-cross.yml | 1 -
>>>   1 file changed, 1 deletion(-)
>>>
>>> diff --git a/.gitlab-ci.d/container-cross.yml 
>>> b/.gitlab-ci.d/container-cross.yml
>>> index e3103940a0..dbffed3f21 100644
>>> --- a/.gitlab-ci.d/container-cross.yml
>>> +++ b/.gitlab-ci.d/container-cross.yml
>>> @@ -77,7 +77,6 @@ riscv64-debian-cross-container:
>>>     allow_failure: true
>>>     variables:
>>>       NAME: debian-riscv64-cross
>>> -    QEMU_JOB_OPTIONAL: 1
>>
>> But you can't do this until the above is done.
> 
> I don't see a reason why not.  Adding debian-ports archive does nothing
> and doesn't hurt either.
> 
> Switching to testing is a different matter.
> 
> This thing works now with sid/unstable, this is what this patch is about.

But this doesn't match the patch description - there you talk about 
switching to testing and that the ports are not needed anymore, so this is 
confusing. I'd suggest to update at least the patch description if we 
continue with sid.

  Thomas
Daniel P. Berrangé May 3, 2024, 8:05 a.m. UTC | #7
On Thu, May 02, 2024 at 11:54:15PM +0300, Michael Tokarev wrote:
> 02.05.2024 23:41, Richard Henderson wrote:
> > On 5/2/24 13:08, Michael Tokarev wrote:
> > > This thing works now with sid/unstable, this is what this patch is about.
> > 
> > It worked when first introduced, then failed, then worked...
> > Sid is too unstable for our usage as a gating test.
> 
> unstable can be unstable at times.  Generally it works, and can fail
> during short periods.
> 
> riscv64 didn't work since it got promoted to release arch last year, due
> to non-working multiarch because many riscv64 packages in debian had
> different version numbers compared to other architectures (due to rebuilds
> of binaries).  Later on whole sid was broken by a large time64 transition
> and a lot of breakages in this area.  This is now being completed and
> is migrated to testing, which is finally available for riscv64 too as
> a release arch.
> 
> I wouldn't switch to testing just yet, because at this point, unstable
> will usually be more stable, or, rather, it will be broken for much
> shorter periods of time than testing, due to migration delays.
> 
> It will take some more time for debian testing to become more or less
> stable in this context.  But lack of riscv testing already cost me a
> *stable* release which failed to *build* (8.2.3 fails to build on
> riscv64).  So I think it is more important to run this job on sid
> than not to run it at all.

JOB_OPTIONAL requires a job to be manually started, but is
non-gating.

We need something intermediate, that always starts the job,
but still keeps it non-gating. You'll see if the pipeline
job for riscv is green or yellow (failure), and can then
check if its a real failure of a Debian failure.


With regards,
Daniel
diff mbox series

Patch

diff --git a/.gitlab-ci.d/container-cross.yml b/.gitlab-ci.d/container-cross.yml
index e3103940a0..dbffed3f21 100644
--- a/.gitlab-ci.d/container-cross.yml
+++ b/.gitlab-ci.d/container-cross.yml
@@ -77,7 +77,6 @@  riscv64-debian-cross-container:
   allow_failure: true
   variables:
     NAME: debian-riscv64-cross
-    QEMU_JOB_OPTIONAL: 1
 
 s390x-debian-cross-container:
   extends: .container_job_template