diff mbox series

[12/12] configure: bump min required CLang to 7.0.0 / XCode 10.2

Message ID 20210511132641.1022161-13-berrange@redhat.com
State New
Headers show
Series Wave goodbye to RHEL 7 vintage distros | expand

Commit Message

Daniel P. Berrangé May 11, 2021, 1:26 p.m. UTC
Several distros have been dropped since the last time we bumped the
minimum required CLang version.

Per repology, currently shipping versions are:

             RHEL-8: 10.0.1
     Debian Stretch: 7.0.1
      Debian Buster: 7.0.1
 openSUSE Leap 15.2: 9.0.1
   Ubuntu LTS 18.04: 10.0.0
   Ubuntu LTS 20.04: 11.0.0
         FreeBSD 12: 8.0.1
          Fedora 33: 11.0.0
          Fedora 34: 11.1.0

With this list Debian Stretch is the constraint at 7.0.1

An LLVM version of 7.0.1 corresponds to macOS XCode version of 10.2
which dates from March 2019.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 configure | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Thomas Huth May 11, 2021, 2:18 p.m. UTC | #1
On 11/05/2021 15.26, Daniel P. Berrangé wrote:
> Several distros have been dropped since the last time we bumped the
> minimum required CLang version.
[...]
> -#  if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 4)
> -#   error You need at least Clang v3.4 to compile QEMU
> +#  if __clang_major__ < 7 || (__clang_major__ == 7 && __clang_minor__ < 0)

__clang_minor__ < 0 is very unlikely ... I think you could drop the part 
after the "||".

Anyway:
Reviewed-by: Thomas Huth <thuth@redhat.com>
Daniel P. Berrangé May 11, 2021, 2:32 p.m. UTC | #2
On Tue, May 11, 2021 at 04:18:54PM +0200, Thomas Huth wrote:
> On 11/05/2021 15.26, Daniel P. Berrangé wrote:
> > Several distros have been dropped since the last time we bumped the
> > minimum required CLang version.
> [...]
> > -#  if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 4)
> > -#   error You need at least Clang v3.4 to compile QEMU
> > +#  if __clang_major__ < 7 || (__clang_major__ == 7 && __clang_minor__ < 0)
> 
> __clang_minor__ < 0 is very unlikely ... I think you could drop the part
> after the "||".

True, though it might be desirable to keep it as a placeholder for when
we next bump the min version and have a non-zero minor digit.

> 
> Anyway:
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> 

Regards,
Daniel
Willian Rampazzo May 11, 2021, 9:05 p.m. UTC | #3
On Tue, May 11, 2021 at 10:28 AM Daniel P. Berrangé <berrange@redhat.com> wrote:
>
> Several distros have been dropped since the last time we bumped the
> minimum required CLang version.
>
> Per repology, currently shipping versions are:
>
>              RHEL-8: 10.0.1
>      Debian Stretch: 7.0.1
>       Debian Buster: 7.0.1
>  openSUSE Leap 15.2: 9.0.1
>    Ubuntu LTS 18.04: 10.0.0
>    Ubuntu LTS 20.04: 11.0.0
>          FreeBSD 12: 8.0.1
>           Fedora 33: 11.0.0
>           Fedora 34: 11.1.0
>
> With this list Debian Stretch is the constraint at 7.0.1
>
> An LLVM version of 7.0.1 corresponds to macOS XCode version of 10.2
> which dates from March 2019.
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>  configure | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>

Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Richard Henderson May 12, 2021, 12:44 a.m. UTC | #4
On 5/11/21 8:26 AM, Daniel P. Berrangé wrote:
> Several distros have been dropped since the last time we bumped the
> minimum required CLang version.
> 
> Per repology, currently shipping versions are:
> 
>               RHEL-8: 10.0.1
>       Debian Stretch: 7.0.1
>        Debian Buster: 7.0.1
>   openSUSE Leap 15.2: 9.0.1
>     Ubuntu LTS 18.04: 10.0.0
>     Ubuntu LTS 20.04: 11.0.0
>           FreeBSD 12: 8.0.1
>            Fedora 33: 11.0.0
>            Fedora 34: 11.1.0
> 
> With this list Debian Stretch is the constraint at 7.0.1
> 
> An LLVM version of 7.0.1 corresponds to macOS XCode version of 10.2
> which dates from March 2019.
> 
> Signed-off-by: Daniel P. Berrangé<berrange@redhat.com>
> ---
>   configure | 10 +++++-----
>   1 file changed, 5 insertions(+), 5 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~
Philippe Mathieu-Daudé May 12, 2021, 11:44 a.m. UTC | #5
On 5/11/21 3:26 PM, Daniel P. Berrangé wrote:
> Several distros have been dropped since the last time we bumped the
> minimum required CLang version.
> 
> Per repology, currently shipping versions are:
> 
>              RHEL-8: 10.0.1
>      Debian Stretch: 7.0.1
>       Debian Buster: 7.0.1
>  openSUSE Leap 15.2: 9.0.1
>    Ubuntu LTS 18.04: 10.0.0
>    Ubuntu LTS 20.04: 11.0.0
>          FreeBSD 12: 8.0.1
>           Fedora 33: 11.0.0
>           Fedora 34: 11.1.0
> 
> With this list Debian Stretch is the constraint at 7.0.1
> 
> An LLVM version of 7.0.1 corresponds to macOS XCode version of 10.2
> which dates from March 2019.

But we still rely on Travis-CI (Ubuntu Bionic 18.04 LTS)
for non-x86 targets until we have figured out who is willing
to share/maintain such non-x86 native runners on Gitlab.

There:

$ clang --version
clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)

If we don't use Travis-CI, then your patch is fine, but we
need a previous patch removing .travis.yml.

> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>  configure | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/configure b/configure
> index 43d2470bb6..c41a3e5eef 100755
> --- a/configure
> +++ b/configure
> @@ -2050,12 +2050,12 @@ fi
>  cat > $TMPC << EOF
>  #if defined(__clang_major__) && defined(__clang_minor__)
>  # ifdef __apple_build_version__
> -#  if __clang_major__ < 5 || (__clang_major__ == 5 && __clang_minor__ < 1)
> -#   error You need at least XCode Clang v5.1 to compile QEMU
> +#  if __clang_major__ < 10 || (__clang_major__ == 10 && __clang_minor__ < 2)
> +#   error You need at least XCode Clang v10.2 to compile QEMU
>  #  endif
>  # else
> -#  if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 4)
> -#   error You need at least Clang v3.4 to compile QEMU
> +#  if __clang_major__ < 7 || (__clang_major__ == 7 && __clang_minor__ < 0)
> +#   error You need at least Clang v7.0 to compile QEMU
>  #  endif
>  # endif
>  #elif defined(__GNUC__) && defined(__GNUC_MINOR__)
> @@ -2068,7 +2068,7 @@ cat > $TMPC << EOF
>  int main (void) { return 0; }
>  EOF
>  if ! compile_prog "" "" ; then
> -    error_exit "You need at least GCC v6.3 or Clang v3.4 (or XCode Clang v5.1)"
> +    error_exit "You need at least GCC v6.3 or Clang v7.0 (or XCode Clang v10.2)"
>  fi
>  
>  # Accumulate -Wfoo and -Wno-bar separately.
>
Thomas Huth May 12, 2021, 11:53 a.m. UTC | #6
On 12/05/2021 13.44, Philippe Mathieu-Daudé wrote:
> On 5/11/21 3:26 PM, Daniel P. Berrangé wrote:
>> Several distros have been dropped since the last time we bumped the
>> minimum required CLang version.
>>
>> Per repology, currently shipping versions are:
>>
>>               RHEL-8: 10.0.1
>>       Debian Stretch: 7.0.1
>>        Debian Buster: 7.0.1
>>   openSUSE Leap 15.2: 9.0.1
>>     Ubuntu LTS 18.04: 10.0.0
>>     Ubuntu LTS 20.04: 11.0.0
>>           FreeBSD 12: 8.0.1
>>            Fedora 33: 11.0.0
>>            Fedora 34: 11.1.0
>>
>> With this list Debian Stretch is the constraint at 7.0.1
>>
>> An LLVM version of 7.0.1 corresponds to macOS XCode version of 10.2
>> which dates from March 2019.
> 
> But we still rely on Travis-CI (Ubuntu Bionic 18.04 LTS)
> for non-x86 targets until we have figured out who is willing
> to share/maintain such non-x86 native runners on Gitlab.

  Hi Cleber,

by the way, what's the status of your patch series to get the dedicated CI 
machines (s390x, aarch64, ...) running in our Gitlab-CI? AFAIK the last 
iteration of your patches has been weeks ago, so I wonder whether you could 
finally send a new version with the requested fixes included? ... this topic 
slowly gets more and more urgent now that our Travis-CI is in process of 
dying...

  Thomas
Daniel P. Berrangé May 12, 2021, 12:25 p.m. UTC | #7
On Wed, May 12, 2021 at 01:44:51PM +0200, Philippe Mathieu-Daudé wrote:
> On 5/11/21 3:26 PM, Daniel P. Berrangé wrote:
> > Several distros have been dropped since the last time we bumped the
> > minimum required CLang version.
> > 
> > Per repology, currently shipping versions are:
> > 
> >              RHEL-8: 10.0.1
> >      Debian Stretch: 7.0.1
> >       Debian Buster: 7.0.1
> >  openSUSE Leap 15.2: 9.0.1
> >    Ubuntu LTS 18.04: 10.0.0
> >    Ubuntu LTS 20.04: 11.0.0
> >          FreeBSD 12: 8.0.1
> >           Fedora 33: 11.0.0
> >           Fedora 34: 11.1.0
> > 
> > With this list Debian Stretch is the constraint at 7.0.1
> > 
> > An LLVM version of 7.0.1 corresponds to macOS XCode version of 10.2
> > which dates from March 2019.
> 
> But we still rely on Travis-CI (Ubuntu Bionic 18.04 LTS)
> for non-x86 targets until we have figured out who is willing
> to share/maintain such non-x86 native runners on Gitlab.
> 
> There:
> 
> $ clang --version
> clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
> 
> If we don't use Travis-CI, then your patch is fine, but we
> need a previous patch removing .travis.yml.

Bioic has clang 10 available so not sure why you're seeing
version 6 there

  https://packages.ubuntu.com/bionic/clang-10


Regards,
Daniel
Willian Rampazzo May 12, 2021, 1:47 p.m. UTC | #8
Hi Thomas,

On Wed, May 12, 2021 at 8:54 AM Thomas Huth <thuth@redhat.com> wrote:
>
> On 12/05/2021 13.44, Philippe Mathieu-Daudé wrote:
> > On 5/11/21 3:26 PM, Daniel P. Berrangé wrote:
> >> Several distros have been dropped since the last time we bumped the
> >> minimum required CLang version.
> >>
> >> Per repology, currently shipping versions are:
> >>
> >>               RHEL-8: 10.0.1
> >>       Debian Stretch: 7.0.1
> >>        Debian Buster: 7.0.1
> >>   openSUSE Leap 15.2: 9.0.1
> >>     Ubuntu LTS 18.04: 10.0.0
> >>     Ubuntu LTS 20.04: 11.0.0
> >>           FreeBSD 12: 8.0.1
> >>            Fedora 33: 11.0.0
> >>            Fedora 34: 11.1.0
> >>
> >> With this list Debian Stretch is the constraint at 7.0.1
> >>
> >> An LLVM version of 7.0.1 corresponds to macOS XCode version of 10.2
> >> which dates from March 2019.
> >
> > But we still rely on Travis-CI (Ubuntu Bionic 18.04 LTS)
> > for non-x86 targets until we have figured out who is willing
> > to share/maintain such non-x86 native runners on Gitlab.
>
>   Hi Cleber,
>
> by the way, what's the status of your patch series to get the dedicated CI
> machines (s390x, aarch64, ...) running in our Gitlab-CI? AFAIK the last
> iteration of your patches has been weeks ago, so I wonder whether you could
> finally send a new version with the requested fixes included? ... this topic
> slowly gets more and more urgent now that our Travis-CI is in process of
> dying...

I don't know if you saw this:
https://docs.travis-ci.com/user/billing-overview/#partner-queue-solution.

tl;dr, Travis now has support from partners to run non-x86 arch. It is
always good to have a plan B, like qemu own CI runners, but, at least,
with these non-x86 arch available on Travis, we will have some time to
breathe.

>
>   Thomas
>
Thomas Huth May 12, 2021, 1:55 p.m. UTC | #9
On 12/05/2021 15.47, Willian Rampazzo wrote:
> Hi Thomas,
> 
> On Wed, May 12, 2021 at 8:54 AM Thomas Huth <thuth@redhat.com> wrote:
>>
>> On 12/05/2021 13.44, Philippe Mathieu-Daudé wrote:
>>> On 5/11/21 3:26 PM, Daniel P. Berrangé wrote:
>>>> Several distros have been dropped since the last time we bumped the
>>>> minimum required CLang version.
>>>>
>>>> Per repology, currently shipping versions are:
>>>>
>>>>                RHEL-8: 10.0.1
>>>>        Debian Stretch: 7.0.1
>>>>         Debian Buster: 7.0.1
>>>>    openSUSE Leap 15.2: 9.0.1
>>>>      Ubuntu LTS 18.04: 10.0.0
>>>>      Ubuntu LTS 20.04: 11.0.0
>>>>            FreeBSD 12: 8.0.1
>>>>             Fedora 33: 11.0.0
>>>>             Fedora 34: 11.1.0
>>>>
>>>> With this list Debian Stretch is the constraint at 7.0.1
>>>>
>>>> An LLVM version of 7.0.1 corresponds to macOS XCode version of 10.2
>>>> which dates from March 2019.
>>>
>>> But we still rely on Travis-CI (Ubuntu Bionic 18.04 LTS)
>>> for non-x86 targets until we have figured out who is willing
>>> to share/maintain such non-x86 native runners on Gitlab.
>>
>>    Hi Cleber,
>>
>> by the way, what's the status of your patch series to get the dedicated CI
>> machines (s390x, aarch64, ...) running in our Gitlab-CI? AFAIK the last
>> iteration of your patches has been weeks ago, so I wonder whether you could
>> finally send a new version with the requested fixes included? ... this topic
>> slowly gets more and more urgent now that our Travis-CI is in process of
>> dying...
> 
> I don't know if you saw this:
> https://docs.travis-ci.com/user/billing-overview/#partner-queue-solution.
> 
> tl;dr, Travis now has support from partners to run non-x86 arch. It is
> always good to have a plan B, like qemu own CI runners, but, at least,
> with these non-x86 arch available on Travis, we will have some time to
> breathe.

Uh, that's what we're already using in our travis.yml ... but I guess you've 
rather missed:

  https://blog.travis-ci.com/2021-05-07-orgshutdown

and on travis-ci.com, the CI minutes are not for free anymore. At least not 
for the QEMU project. Or do you know of a sponsor who is going to pay the CI 
minutes for us there?

  Thomas
Willian Rampazzo May 12, 2021, 1:59 p.m. UTC | #10
On Wed, May 12, 2021 at 10:56 AM Thomas Huth <thuth@redhat.com> wrote:
>
> On 12/05/2021 15.47, Willian Rampazzo wrote:
> > Hi Thomas,
> >
> > On Wed, May 12, 2021 at 8:54 AM Thomas Huth <thuth@redhat.com> wrote:
> >>
> >> On 12/05/2021 13.44, Philippe Mathieu-Daudé wrote:
> >>> On 5/11/21 3:26 PM, Daniel P. Berrangé wrote:
> >>>> Several distros have been dropped since the last time we bumped the
> >>>> minimum required CLang version.
> >>>>
> >>>> Per repology, currently shipping versions are:
> >>>>
> >>>>                RHEL-8: 10.0.1
> >>>>        Debian Stretch: 7.0.1
> >>>>         Debian Buster: 7.0.1
> >>>>    openSUSE Leap 15.2: 9.0.1
> >>>>      Ubuntu LTS 18.04: 10.0.0
> >>>>      Ubuntu LTS 20.04: 11.0.0
> >>>>            FreeBSD 12: 8.0.1
> >>>>             Fedora 33: 11.0.0
> >>>>             Fedora 34: 11.1.0
> >>>>
> >>>> With this list Debian Stretch is the constraint at 7.0.1
> >>>>
> >>>> An LLVM version of 7.0.1 corresponds to macOS XCode version of 10.2
> >>>> which dates from March 2019.
> >>>
> >>> But we still rely on Travis-CI (Ubuntu Bionic 18.04 LTS)
> >>> for non-x86 targets until we have figured out who is willing
> >>> to share/maintain such non-x86 native runners on Gitlab.
> >>
> >>    Hi Cleber,
> >>
> >> by the way, what's the status of your patch series to get the dedicated CI
> >> machines (s390x, aarch64, ...) running in our Gitlab-CI? AFAIK the last
> >> iteration of your patches has been weeks ago, so I wonder whether you could
> >> finally send a new version with the requested fixes included? ... this topic
> >> slowly gets more and more urgent now that our Travis-CI is in process of
> >> dying...
> >
> > I don't know if you saw this:
> > https://docs.travis-ci.com/user/billing-overview/#partner-queue-solution.
> >
> > tl;dr, Travis now has support from partners to run non-x86 arch. It is
> > always good to have a plan B, like qemu own CI runners, but, at least,
> > with these non-x86 arch available on Travis, we will have some time to
> > breathe.
>
> Uh, that's what we're already using in our travis.yml ... but I guess you've
> rather missed:
>
>   https://blog.travis-ci.com/2021-05-07-orgshutdown
>
> and on travis-ci.com, the CI minutes are not for free anymore. At least not
> for the QEMU project. Or do you know of a sponsor who is going to pay the CI
> minutes for us there?
>

The link I posted tells arm and s390x will still be free for OSS projects.

From that page:

IBM CPU builds in IBM Cloud (sponsored by IBM)
ARM64 CPU builds in Equinix Metal (former Packet) infrastructure
(sponsored by ARM)

Willian

>   Thomas
>
Daniel P. Berrangé May 12, 2021, 2 p.m. UTC | #11
On Wed, May 12, 2021 at 03:55:59PM +0200, Thomas Huth wrote:
> On 12/05/2021 15.47, Willian Rampazzo wrote:
> > Hi Thomas,
> > 
> > On Wed, May 12, 2021 at 8:54 AM Thomas Huth <thuth@redhat.com> wrote:
> > > 
> > > On 12/05/2021 13.44, Philippe Mathieu-Daudé wrote:
> > > > On 5/11/21 3:26 PM, Daniel P. Berrangé wrote:
> > > > > Several distros have been dropped since the last time we bumped the
> > > > > minimum required CLang version.
> > > > > 
> > > > > Per repology, currently shipping versions are:
> > > > > 
> > > > >                RHEL-8: 10.0.1
> > > > >        Debian Stretch: 7.0.1
> > > > >         Debian Buster: 7.0.1
> > > > >    openSUSE Leap 15.2: 9.0.1
> > > > >      Ubuntu LTS 18.04: 10.0.0
> > > > >      Ubuntu LTS 20.04: 11.0.0
> > > > >            FreeBSD 12: 8.0.1
> > > > >             Fedora 33: 11.0.0
> > > > >             Fedora 34: 11.1.0
> > > > > 
> > > > > With this list Debian Stretch is the constraint at 7.0.1
> > > > > 
> > > > > An LLVM version of 7.0.1 corresponds to macOS XCode version of 10.2
> > > > > which dates from March 2019.
> > > > 
> > > > But we still rely on Travis-CI (Ubuntu Bionic 18.04 LTS)
> > > > for non-x86 targets until we have figured out who is willing
> > > > to share/maintain such non-x86 native runners on Gitlab.
> > > 
> > >    Hi Cleber,
> > > 
> > > by the way, what's the status of your patch series to get the dedicated CI
> > > machines (s390x, aarch64, ...) running in our Gitlab-CI? AFAIK the last
> > > iteration of your patches has been weeks ago, so I wonder whether you could
> > > finally send a new version with the requested fixes included? ... this topic
> > > slowly gets more and more urgent now that our Travis-CI is in process of
> > > dying...
> > 
> > I don't know if you saw this:
> > https://docs.travis-ci.com/user/billing-overview/#partner-queue-solution.
> > 
> > tl;dr, Travis now has support from partners to run non-x86 arch. It is
> > always good to have a plan B, like qemu own CI runners, but, at least,
> > with these non-x86 arch available on Travis, we will have some time to
> > breathe.
> 
> Uh, that's what we're already using in our travis.yml ... but I guess you've
> rather missed:
> 
>  https://blog.travis-ci.com/2021-05-07-orgshutdown
> 
> and on travis-ci.com, the CI minutes are not for free anymore. At least not
> for the QEMU project. Or do you know of a sponsor who is going to pay the CI
> minutes for us there?

The link above explicitly says the non-x86 jobs cost 0 credits:


  "The build job under Partner Queue Solution costs 0 credits per 
   started minute. At the moment of introducing Partner Queue Solution
   active accounts on the Usage based Plans, including the Free Plan,
   with a balance of zero or fewer credits, balance is updated to 
   hold 1 credit. Thus everybody can use Partner Queues without 
   requesting Travis CI support to grant additional credits. If you
   run into a negative account balance after that, you still need to
   file an additional request."

IOW, anyone ought to be able to use non-x86 jobs, bt if you accidentally
run an x86 job and get into 0 (or negative) credits, then you won't even
be able to use non-x86 jobs.

Regards,
Daniel
Philippe Mathieu-Daudé May 12, 2021, 2:10 p.m. UTC | #12
On 5/12/21 2:25 PM, Daniel P. Berrangé wrote:
> On Wed, May 12, 2021 at 01:44:51PM +0200, Philippe Mathieu-Daudé wrote:
>> On 5/11/21 3:26 PM, Daniel P. Berrangé wrote:
>>> Several distros have been dropped since the last time we bumped the
>>> minimum required CLang version.
>>>
>>> Per repology, currently shipping versions are:
>>>
>>>              RHEL-8: 10.0.1
>>>      Debian Stretch: 7.0.1
>>>       Debian Buster: 7.0.1
>>>  openSUSE Leap 15.2: 9.0.1
>>>    Ubuntu LTS 18.04: 10.0.0
>>>    Ubuntu LTS 20.04: 11.0.0
>>>          FreeBSD 12: 8.0.1
>>>           Fedora 33: 11.0.0
>>>           Fedora 34: 11.1.0
>>>
>>> With this list Debian Stretch is the constraint at 7.0.1
>>>
>>> An LLVM version of 7.0.1 corresponds to macOS XCode version of 10.2
>>> which dates from March 2019.
>>
>> But we still rely on Travis-CI (Ubuntu Bionic 18.04 LTS)
>> for non-x86 targets until we have figured out who is willing
>> to share/maintain such non-x86 native runners on Gitlab.
>>
>> There:
>>
>> $ clang --version
>> clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
>>
>> If we don't use Travis-CI, then your patch is fine, but we
>> need a previous patch removing .travis.yml.
> 
> Bioic has clang 10 available so not sure why you're seeing
> version 6 there
> 
>   https://packages.ubuntu.com/bionic/clang-10

But only i386/amd64 are listed there.

However s390x is indeed in the bionic-updates stream:

https://packages.ubuntu.com/bionic-updates/clang-10

Thanks,

Phil.
Thomas Huth May 12, 2021, 2:33 p.m. UTC | #13
On 12/05/2021 15.59, Willian Rampazzo wrote:
> On Wed, May 12, 2021 at 10:56 AM Thomas Huth <thuth@redhat.com> wrote:
>>
>> On 12/05/2021 15.47, Willian Rampazzo wrote:
>>> Hi Thomas,
>>>
>>> On Wed, May 12, 2021 at 8:54 AM Thomas Huth <thuth@redhat.com> wrote:
>>>>
>>>> On 12/05/2021 13.44, Philippe Mathieu-Daudé wrote:
>>>>> On 5/11/21 3:26 PM, Daniel P. Berrangé wrote:
>>>>>> Several distros have been dropped since the last time we bumped the
>>>>>> minimum required CLang version.
>>>>>>
>>>>>> Per repology, currently shipping versions are:
>>>>>>
>>>>>>                 RHEL-8: 10.0.1
>>>>>>         Debian Stretch: 7.0.1
>>>>>>          Debian Buster: 7.0.1
>>>>>>     openSUSE Leap 15.2: 9.0.1
>>>>>>       Ubuntu LTS 18.04: 10.0.0
>>>>>>       Ubuntu LTS 20.04: 11.0.0
>>>>>>             FreeBSD 12: 8.0.1
>>>>>>              Fedora 33: 11.0.0
>>>>>>              Fedora 34: 11.1.0
>>>>>>
>>>>>> With this list Debian Stretch is the constraint at 7.0.1
>>>>>>
>>>>>> An LLVM version of 7.0.1 corresponds to macOS XCode version of 10.2
>>>>>> which dates from March 2019.
>>>>>
>>>>> But we still rely on Travis-CI (Ubuntu Bionic 18.04 LTS)
>>>>> for non-x86 targets until we have figured out who is willing
>>>>> to share/maintain such non-x86 native runners on Gitlab.
>>>>
>>>>     Hi Cleber,
>>>>
>>>> by the way, what's the status of your patch series to get the dedicated CI
>>>> machines (s390x, aarch64, ...) running in our Gitlab-CI? AFAIK the last
>>>> iteration of your patches has been weeks ago, so I wonder whether you could
>>>> finally send a new version with the requested fixes included? ... this topic
>>>> slowly gets more and more urgent now that our Travis-CI is in process of
>>>> dying...
>>>
>>> I don't know if you saw this:
>>> https://docs.travis-ci.com/user/billing-overview/#partner-queue-solution.
>>>
>>> tl;dr, Travis now has support from partners to run non-x86 arch. It is
>>> always good to have a plan B, like qemu own CI runners, but, at least,
>>> with these non-x86 arch available on Travis, we will have some time to
>>> breathe.
>>
>> Uh, that's what we're already using in our travis.yml ... but I guess you've
>> rather missed:
>>
>>    https://blog.travis-ci.com/2021-05-07-orgshutdown
>>
>> and on travis-ci.com, the CI minutes are not for free anymore. At least not
>> for the QEMU project. Or do you know of a sponsor who is going to pay the CI
>> minutes for us there?
>>
> 
> The link I posted tells arm and s390x will still be free for OSS projects.
> 
>  From that page:
> 
> IBM CPU builds in IBM Cloud (sponsored by IBM)
> ARM64 CPU builds in Equinix Metal (former Packet) infrastructure
> (sponsored by ARM)

Oh, wow, that's new, indeed! In late 2020 / early 2021, they only gave you 
some few credits for a limited trial, and I quickly burnt them with some few 
CI runs, ending in a negative credit balance. But I just checked again, and 
they indeed reset my credit balance to 1 now (i.e. 1 minute for x86), and 
indeed it seems like I can run the non-x86 pipelines again:

  https://travis-ci.com/github/huth/qemu/builds/225749601

Thanks for the pointer, that made my day!

  Thomas
Daniel P. Berrangé May 12, 2021, 2:43 p.m. UTC | #14
On Wed, May 12, 2021 at 04:10:03PM +0200, Philippe Mathieu-Daudé wrote:
> On 5/12/21 2:25 PM, Daniel P. Berrangé wrote:
> > On Wed, May 12, 2021 at 01:44:51PM +0200, Philippe Mathieu-Daudé wrote:
> >> On 5/11/21 3:26 PM, Daniel P. Berrangé wrote:
> >>> Several distros have been dropped since the last time we bumped the
> >>> minimum required CLang version.
> >>>
> >>> Per repology, currently shipping versions are:
> >>>
> >>>              RHEL-8: 10.0.1
> >>>      Debian Stretch: 7.0.1
> >>>       Debian Buster: 7.0.1
> >>>  openSUSE Leap 15.2: 9.0.1
> >>>    Ubuntu LTS 18.04: 10.0.0
> >>>    Ubuntu LTS 20.04: 11.0.0
> >>>          FreeBSD 12: 8.0.1
> >>>           Fedora 33: 11.0.0
> >>>           Fedora 34: 11.1.0
> >>>
> >>> With this list Debian Stretch is the constraint at 7.0.1
> >>>
> >>> An LLVM version of 7.0.1 corresponds to macOS XCode version of 10.2
> >>> which dates from March 2019.
> >>
> >> But we still rely on Travis-CI (Ubuntu Bionic 18.04 LTS)
> >> for non-x86 targets until we have figured out who is willing
> >> to share/maintain such non-x86 native runners on Gitlab.
> >>
> >> There:
> >>
> >> $ clang --version
> >> clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
> >>
> >> If we don't use Travis-CI, then your patch is fine, but we
> >> need a previous patch removing .travis.yml.
> > 
> > Bioic has clang 10 available so not sure why you're seeing
> > version 6 there
> > 
> >   https://packages.ubuntu.com/bionic/clang-10
> 
> But only i386/amd64 are listed there.
> 
> However s390x is indeed in the bionic-updates stream:
> 
> https://packages.ubuntu.com/bionic-updates/clang-10

Never mind, lets just stick as 6.0.0 for min clang. There's no reason
why we /must/ pick 7.0.0 - it is just what i thought was the min across
our distros. I didn't realize ubuntu had multiple streams for clang.


Regards,
Daniel
Philippe Mathieu-Daudé May 12, 2021, 2:51 p.m. UTC | #15
Hi Daniel,

On Wed, May 12, 2021 at 4:00 PM Daniel P. Berrangé <berrange@redhat.com> wrote:
> On Wed, May 12, 2021 at 03:55:59PM +0200, Thomas Huth wrote:
> > On 12/05/2021 15.47, Willian Rampazzo wrote:

> > > I don't know if you saw this:
> > > https://docs.travis-ci.com/user/billing-overview/#partner-queue-solution.
> > >
> > > tl;dr, Travis now has support from partners to run non-x86 arch. It is
> > > always good to have a plan B, like qemu own CI runners, but, at least,
> > > with these non-x86 arch available on Travis, we will have some time to
> > > breathe.

>   "The build job under Partner Queue Solution costs 0 credits per
>    started minute. At the moment of introducing Partner Queue Solution
>    active accounts on the Usage based Plans, including the Free Plan,
>    with a balance of zero or fewer credits, balance is updated to
>    hold 1 credit. Thus everybody can use Partner Queues without
>    requesting Travis CI support to grant additional credits. If you
>    run into a negative account balance after that, you still need to
>    file an additional request."
>
> IOW, anyone ought to be able to use non-x86 jobs, bt if you accidentally
> run an x86 job and get into 0 (or negative) credits, then you won't even
> be able to use non-x86 jobs.

You once showed a script on GitLab triggering Travis-CI jobs and reporting
the success/failure on GitLab (or was it Cirrus-CI?). Is it possible to use
something similar with QEMU to integrate Travis-CI jobs with GitLab
pipeline?
Daniel P. Berrangé May 12, 2021, 3:29 p.m. UTC | #16
On Wed, May 12, 2021 at 04:51:25PM +0200, Philippe Mathieu-Daudé wrote:
> Hi Daniel,
> 
> On Wed, May 12, 2021 at 4:00 PM Daniel P. Berrangé <berrange@redhat.com> wrote:
> > On Wed, May 12, 2021 at 03:55:59PM +0200, Thomas Huth wrote:
> > > On 12/05/2021 15.47, Willian Rampazzo wrote:
> 
> > > > I don't know if you saw this:
> > > > https://docs.travis-ci.com/user/billing-overview/#partner-queue-solution.
> > > >
> > > > tl;dr, Travis now has support from partners to run non-x86 arch. It is
> > > > always good to have a plan B, like qemu own CI runners, but, at least,
> > > > with these non-x86 arch available on Travis, we will have some time to
> > > > breathe.
> 
> >   "The build job under Partner Queue Solution costs 0 credits per
> >    started minute. At the moment of introducing Partner Queue Solution
> >    active accounts on the Usage based Plans, including the Free Plan,
> >    with a balance of zero or fewer credits, balance is updated to
> >    hold 1 credit. Thus everybody can use Partner Queues without
> >    requesting Travis CI support to grant additional credits. If you
> >    run into a negative account balance after that, you still need to
> >    file an additional request."
> >
> > IOW, anyone ought to be able to use non-x86 jobs, bt if you accidentally
> > run an x86 job and get into 0 (or negative) credits, then you won't even
> > be able to use non-x86 jobs.
> 
> You once showed a script on GitLab triggering Travis-CI jobs and reporting
> the success/failure on GitLab (or was it Cirrus-CI?). Is it possible to use
> something similar with QEMU to integrate Travis-CI jobs with GitLab
> pipeline?

If you login to Travis using GitLab  SSO, instead of GitHub SSO,
then it will magically create an extra stage in your GitLab pipeline
and report Travis results there. I mentioned this here:

  https://wiki.qemu.org/Testing/CI/Integrated#Travis_CI_setup

though I never tried it out in anger - it was more a case of me
noticing it happening by accident.

Regards,
Daniel
diff mbox series

Patch

diff --git a/configure b/configure
index 43d2470bb6..c41a3e5eef 100755
--- a/configure
+++ b/configure
@@ -2050,12 +2050,12 @@  fi
 cat > $TMPC << EOF
 #if defined(__clang_major__) && defined(__clang_minor__)
 # ifdef __apple_build_version__
-#  if __clang_major__ < 5 || (__clang_major__ == 5 && __clang_minor__ < 1)
-#   error You need at least XCode Clang v5.1 to compile QEMU
+#  if __clang_major__ < 10 || (__clang_major__ == 10 && __clang_minor__ < 2)
+#   error You need at least XCode Clang v10.2 to compile QEMU
 #  endif
 # else
-#  if __clang_major__ < 3 || (__clang_major__ == 3 && __clang_minor__ < 4)
-#   error You need at least Clang v3.4 to compile QEMU
+#  if __clang_major__ < 7 || (__clang_major__ == 7 && __clang_minor__ < 0)
+#   error You need at least Clang v7.0 to compile QEMU
 #  endif
 # endif
 #elif defined(__GNUC__) && defined(__GNUC_MINOR__)
@@ -2068,7 +2068,7 @@  cat > $TMPC << EOF
 int main (void) { return 0; }
 EOF
 if ! compile_prog "" "" ; then
-    error_exit "You need at least GCC v6.3 or Clang v3.4 (or XCode Clang v5.1)"
+    error_exit "You need at least GCC v6.3 or Clang v7.0 (or XCode Clang v10.2)"
 fi
 
 # Accumulate -Wfoo and -Wno-bar separately.