KernelCI discussions
 help / color / mirror / Atom feed
From: "Guillaume Tucker" <guillaume.tucker@collabora.com>
To: Dan Rue <dan.rue@linaro.org>
Cc: tuxbuild <tuxbuild@linaro.org>,
	clang-built-linux <clang-built-linux@googlegroups.com>,
	kernelci@groups.io
Subject: Re: TuxBuild Now Supports Clang 11 and 5 new architectures
Date: Thu, 19 Nov 2020 09:13:41 +0000	[thread overview]
Message-ID: <b455831c-1205-551f-6bb2-6bb33b750d17@collabora.com> (raw)
In-Reply-To: <CAGm4vTM-ozY8wSsuZhqCsz8qnrjaCRkmLnLJVkuYB6sVUaqnuQ@mail.gmail.com>

Hi Dan,

On 17/11/2020 21:41, Dan Rue wrote:
> Cheers!
> 
> Today we've deployed support for clang-11, and we dropped support for clang 8 and 9 based on user feedback.
> 
> In addition, we have added the following architectures with gcc 8, 9, and 10:
> - s390
> - powerpc
> - sparc
> - hppa
> - sh
> 
> TuxBuild's full support matrix is as follows:
> 
>          arc arm arm64 hppa i386 mips powerpc riscv s390 sh  sparc x86_64
> clang-10 no  yes yes   no   yes  yes  no      yes   no   no  no    yes
> clang-11 no  yes yes   no   yes  yes  no      yes   no   no  no    yes

Out of interest, are there builds produced with tuxbuild for all
the supported configurations that can be downloaded with a build
log?

I've just been working on building riscv with Clang for KernelCI
and there are quite a few issues, we've dropped clang-10 as it's
actually broken.  So I wonder if you define "supported" solely by
having a Docker image and the ability to start a build, or if
it's required to actually complete a kernel build?

See related discussion about riscv here:

  https://github.com/kernelci/kernelci-core/pull/534


> gcc-10   no  yes yes   yes  yes  yes  yes     yes   yes  yes yes   yes
> gcc-8    yes yes yes   yes  yes  yes  yes     yes   yes  yes yes   yes
> gcc-9    yes yes yes   yes  yes  yes  yes     yes   yes  yes yes   yes
> 
> We're still updating the tuxbuild documentation, but the new toolchains and architectures are available immediately without a tuxbuild update (the argument validation is all done server-side).
> 
> Now that we have TuxMake integration which is enabling these new features, we would like to add tuxmake build reproducers to tuxbuild. A build reproducer is a simple one-line shell script provided alongside the other tuxbuild artifacts, which contain the tuxmake command-line invocation to perform the same build locally. For example:
> 
>     $ cat tuxmake_reproducer.sh
>     tuxmake --runtime docker --image docker.io/tuxmake/arm64_clang-11 <http://docker.io/tuxmake/arm64_clang-11> --target-arch arm64 --kconfig defconfig --kconfig-add "CONFIG_KASAN=y" --toolchain clang-11

That's nice but I believe it would be easier to adopt if the
syntax was simpler.  For example:

  tuxmake --runtime docker --target-arch arm64 --kconfig defconfig --kconfig-add "CONFIG_KASAN=y" --toolchain clang-11

or if you really want to keep the docker image mentioned to
ensure reproducibility:

  tuxmake --runtime docker --image docker.io/tuxmake/arm64_clang-11 --kconfig defconfig --kconfig-add "CONFIG_KASAN=y"

I can see why you would want to define all the parameters
explicitly, but it seems like there's some repetition there.  If
the docker image is already arch-specific, then do you also need
to specify the arch as a separate parameter?

Best wishes,
Guillaume

> As a kernel developer, would you appreciate receiving such a command as a part of a build discussion on a mailing list?
> 
> Would you send something like that to your colleagues?
> 
> Do you find the concept of a local reproducer helpful?
> 
> Thanks again to everyone using and supporting TuxBuild and TuxMake - we see you and we appreciate you,
> 
> Dan
> 
> p.s. Did you know that it's possible to perform actual reproducible builds with tuxmake? It's true. Try it for yourself, and see if your bzImage sha256sum matches:
> 
>     $ git describe
>     v5.10-rc4
>     $ tuxmake --image docker.io/tuxmake/x86_64_gcc@sha256:f8218cbfad8ecf6628fc44db864a402070feb87ff43a880e1409649172d4bc8c <http://docker.io/tuxmake/x86_64_gcc@sha256:f8218cbfad8ecf6628fc44db864a402070feb87ff43a880e1409649172d4bc8c> -r docker -k tinyconfig -e "KBUILD_BUILD_TIMESTAMP='Tue May 26 16:16:14 2020 -0500'" -e "KBUILD_BUILD_USER=tuxmake" -e "KBUILD_BUILD_HOST=tuxmake"
>     ...
>     $ sha256sum /home/drue/.cache/tuxmake/builds/634/bzImage 
>     5581ed4583fb4b9d76760ee329e248fe7281d7ea3b6ae0737efc7a6a4462affa  /home/drue/.cache/tuxmake/builds/634/bzImage
> 
> p.p.s. Did you know that tuxmake also supports podman? Just use -r podman instead of -r docker.


       reply	other threads:[~2020-11-19  9:13 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAGm4vTM-ozY8wSsuZhqCsz8qnrjaCRkmLnLJVkuYB6sVUaqnuQ@mail.gmail.com>
2020-11-19  9:13 ` Guillaume Tucker [this message]
2020-11-23 17:05   ` TuxBuild Now Supports Clang 11 and 5 new architectures Dan Rue

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=b455831c-1205-551f-6bb2-6bb33b750d17@collabora.com \
    --to=guillaume.tucker@collabora.com \
    --cc=clang-built-linux@googlegroups.com \
    --cc=dan.rue@linaro.org \
    --cc=kernelci@groups.io \
    --cc=tuxbuild@linaro.org \
    /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