All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ana Guerrero Lopez" <ana.guerrero@collabora.com>
To: kernelci@groups.io
Subject: Re: [kernelci] proposal to build Debian images for every test suite (pull #24/kernelci-build-staging)
Date: Wed, 9 May 2018 02:00:37 +0200	[thread overview]
Message-ID: <8b6f78ca-17bb-45bf-91c7-0a52a8e5d875@collabora.com> (raw)
In-Reply-To: <7h4ljjhxle.fsf@baylibre.com>

Hi!

I have made a new pull request (PR#25), more details below.

On 08/05/18 01:09, Kevin Hilman wrote:
 > "Ana Guerrero Lopez" <ana.guerrero@collabora.com> writes:

 > Also, at first glance, the shared libs need some review.  The first
 > thing that looks strange is the arch mappings:
 >
 >     def debian_arch =  ["arm64": "armhf",
 >                         "armel": "arm64",
 >                         "x86": "i386",
 >                         "x86_64": "amd64"]
 >
 > It looks to me like the arm64 and armhf are swapped.  The same looks
 > true for 'toolchain_arch'.

My bad, I had this fixed locally this but I never pushed the commit.

I have changed armel to arm to be more consistent with the linux/arch/XX
naming. If you happen to be using already armel in kernelci, please tell
me and I'll rename it back to armel.


 >> However, if the plan is to have all the Jenkinsfile in the same git
 >> repository, then having an external repository for the shared libraries
 >> is probably a bad idea.
 >
 > I'm not sure what Jenkins best practices are here, but for kernelCI,
 > keeping them separate (at least in the long term) sounds like a good
 > idea.  However, in order to get the structure of the first few jobs
 > agreed upon and merged, it might make sense to keep them all in the same
 > repo for ease of review.

Yeah, I agree. It's everything in the same repository now.

 > Also, Tomeu seems to have separate project for building a tiny
 > ramdisk/initramfs that doesn't use the shared libs at all.

For only one job it makes sense to have it all in the same Jenkinsfile.
But soon I'm expecting to have very similar jobs and we'll end up
copy-pasting the same blocks of code.

Anyway, for making things easier, right now there is only a function
(buildImage.groovy) and I have merged there the code from 
getDockerArgs.groovy
and setPipelineVersion.groovy
We'll see later when we add more pipelines which functions can be reused
and need to be split in different files for re-use.

You can see I kept the 3 lines in the top of Jenkinsfile_basic importing
the library from the same repository. This step is necessary unless
we declare the library in Jenkins (globally or when creating the pipeline).
This article has a example very similar to what we're doing and explain 
how to do it:
https://dev.to/jalogut/centralise-jenkins-pipelines-configuration-using-shared-libraries

We don't need to do it now, but I wanted to mention it because most
of the examples you'll find use this method and use the call @Library..
in the Jenkinsfile.

 > IMO, what I think would be very helpful at least for initial review and
 > discussion, is to see an initial PR that only has the "basic" build, and
 > ideally also generates a minimal, tiny ramdisk from the same build
 > (e.g. with 'update-initramfs -c -k min' )

The new pull request has only the basic build. I have modified the debos
files to create the tiny ramdisk and the Jenkinsfile to store it.



 > I'm not sure about the "build_test_suite" approach.
 >
 > AFAICT, both the _igt and _v4l2 jobs are basically doing the same thing
 > as "basic", and then essentially installing a bunch more files on top.
 >
 > Instead of all the rootfs duplication, couldn't the exact same thing be
 > accomplished by just having one "basic" rootfs image, and then passing
 > overlay tarballs to LAVA for IGT and V4L2?
 >
 > IOW, I'm not sure I'm fully understanding the need for completely
 > separate rootfs for IGT and V4L2.

Besides what tomeu said in his mail, IGT and V4L2 were bad examples to
compare here because they have almost the same dependencies.

Cheers,

Ana


  parent reply	other threads:[~2018-05-09  0:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-07 11:06 proposal to build Debian images for every test suite (pull #24/kernelci-build-staging) Ana Guerrero Lopez
2018-05-07 23:09 ` [kernelci] " khilman
2018-05-08  6:11   ` tomeu.vizoso
2018-05-10  1:04     ` Kevin Hilman
2018-05-10  6:56       ` Tomeu Vizoso
2018-05-10 15:41         ` Kevin Hilman
2018-05-11  5:23           ` Tomeu Vizoso
2018-05-16 16:46             ` Ana Guerrero Lopez
2018-05-23  8:21               ` Tomeu Vizoso
2018-05-09  0:00   ` Ana Guerrero Lopez [this message]
2018-05-10  1:15     ` Kevin Hilman
2018-05-16 15:56       ` Ana Guerrero Lopez

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=8b6f78ca-17bb-45bf-91c7-0a52a8e5d875@collabora.com \
    --to=ana.guerrero@collabora.com \
    --cc=kernelci@groups.io \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.