All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: Rob Herring <robh@kernel.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Greg KH <gregkh@linuxfoundation.org>
Subject: Re: [PATCH] Add a skeleton Travis-CI config
Date: Thu, 4 Oct 2018 10:32:50 +0200	[thread overview]
Message-ID: <CAKMK7uHYnOVJBn57M0yxgXWAxrkg79+rz0zX+7XRHt8KwgvOuw@mail.gmail.com> (raw)
In-Reply-To: <20181003222715.28667-1-robh@kernel.org>

On Thu, Oct 4, 2018 at 12:27 AM Rob Herring <robh@kernel.org> wrote:
>
> It's convenient to use Travis-CI for doing kernel builds. Doing so
> requires a github repo, Travis-CI enabled for that repo, and a
> .travis.yml file in the repository. This commit addresses the last part.
> Each repository branch must have a .travis.yml file in order to run
> Travis-CI jobs.
>
> Obviously, we can't create a single configuration that works for
> everyone as every developer will want to run different configs and
> build targets. Therefore, this only adds a skeleton .travis.yml file.
> With this a user can either set $CONFIG and $TARGET in their Travis-CI
> environment or customized builds can be triggered remotely.
>
> Here's an example of setting up a matrix build of different
> architectures:
>
> body='{
>   "request": {
>     "branch": "master",
>     "config" : {
>       "env": {
>         "global": "CONFIG=defconfig TARGET=all",
>         "matrix": [
>           "ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-",
>           "ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-",
>           "ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu-"
>         ]
>       }
>     }
>   }
> }'
>
> curl -s -X POST \
>    -H "Content-Type: application/json" \
>    -H "Accept: application/json" \
>    -H "Travis-API-Version: 3" \
>    -H "Authorization: token $TOKEN" \
>    -d "$body" \
>    https://api.travis-ci.org/repo/robherring%2Flinux/requests
>
> Additionally, it is possible to override 'scripts' or any other part of
> the config as well.
>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> I'm wondering if there's other interest in this. If so, please chime in.
>
> Maybe I should be looking at Gitlab CI instead, but Travis I know
> already and Gitlab just seems to be the shiniest new thing. In any case,
> both could coexist.

So I haven't looked in-depth at the travis+github combo, but on gitlab
you can set the path for your .gitlab-ci.yaml file per-repo. Which
means each maintainer group can have their own thing, without
trampling on each another's feet.

I guess if gitlab+travis can't do that then a dispatcher like you
propose here would be good. Personally I have reservations with gitlab
though, since it's proprietary infrastructure not under out control.
That's a big reason for why fd.o opted for gitlab, and the handful of
graphics projects that tried out a gitlab+travis workflow all plan to
move back to gitlab.fd.o. Gitlab definitely works - there's enough
projects out there to prove that :-) But in the kernel we've already
seen how that can go all wrong with bitkeeper.
-Daniel

>
> Rob
>
>  .travis.yml | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
>  create mode 100644 .travis.yml
>
> diff --git a/.travis.yml b/.travis.yml
> new file mode 100644
> index 000000000000..ba1e59dd44f6
> --- /dev/null
> +++ b/.travis.yml
> @@ -0,0 +1,23 @@
> +language: c
> +
> +sudo: false
> +dist: trusty
> +
> +cache:
> +  apt: true
> +
> +env:
> +  - CONFIG=allnoconfig TARGET=all
> +
> +addons:
> +  apt:
> +    packages:
> +      - build-essential
> +      - bc
> +      - gcc-arm-linux-gnueabihf
> +      - gcc-aarch64-linux-gnu
> +      - gcc-powerpc-linux-gnu
> +
> +script:
> +  - make $CONFIG
> +  - make $TARGET
> --
> 2.17.1
>


-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

  reply	other threads:[~2018-10-04  8:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-03 22:27 [PATCH] Add a skeleton Travis-CI config Rob Herring
2018-10-04  8:32 ` Daniel Vetter [this message]
2018-10-04 19:10   ` Rob Herring
2018-10-04 19:22     ` Daniel Vetter

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=CAKMK7uHYnOVJBn57M0yxgXWAxrkg79+rz0zX+7XRHt8KwgvOuw@mail.gmail.com \
    --to=daniel.vetter@ffwll.ch \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh@kernel.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 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.