[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20181003222715.28667-1-robh@kernel.org>
Date: Wed, 3 Oct 2018 17:27:15 -0500
From: Rob Herring <robh@...nel.org>
To: linux-kernel@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Daniel Vetter <daniel.vetter@...ll.ch>
Subject: [PATCH] Add a skeleton Travis-CI config
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@...nel.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.
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
Powered by blists - more mailing lists