[v3,3/3] .shippable.yml: new CI provider

Message ID 20170214100733.22280-4-alex.bennee@linaro.org
State New
Headers show
Series
  • Docker cross-compile targets and user build support
Related show

Commit Message

Alex Bennée Feb. 14, 2017, 10:07 a.m.
Ostensibly Shippable offers a similar set of services as Travis.
However they are focused on Docker container based work-flows so we
can use our existing containers to run a few extra builds - in this
case a bunch of cross-compiled targets on a Debian multiarch system.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>


---
v3
  - reduce matrix to armhf/arm64 which currently work
  - use the make docker-image-* build stanzas
  - add TARGET_LIST to each build
---
 .shippable.yml | 23 +++++++++++++++++++++++
 MAINTAINERS    |  1 +
 2 files changed, 24 insertions(+)
 create mode 100644 .shippable.yml

-- 
2.11.0

Comments

Fam Zheng Feb. 14, 2017, 2:11 p.m. | #1
On Tue, 02/14 10:07, Alex Bennée wrote:
> Ostensibly Shippable offers a similar set of services as Travis.

> However they are focused on Docker container based work-flows so we

> can use our existing containers to run a few extra builds - in this

> case a bunch of cross-compiled targets on a Debian multiarch system.

> 

> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

> 

> ---

> v3

>   - reduce matrix to armhf/arm64 which currently work

>   - use the make docker-image-* build stanzas

>   - add TARGET_LIST to each build

> ---

>  .shippable.yml | 23 +++++++++++++++++++++++

>  MAINTAINERS    |  1 +

>  2 files changed, 24 insertions(+)

>  create mode 100644 .shippable.yml

> 

> diff --git a/.shippable.yml b/.shippable.yml

> new file mode 100644

> index 0000000000..e4fa159481

> --- /dev/null

> +++ b/.shippable.yml

> @@ -0,0 +1,23 @@

> +language: c

> +env:

> +  matrix:

> +    - IMAGE=debian-armhf-cross

> +      CROSS_PREFIX=arm-linux-gnueabihf-

> +      TARGET_LIST=arm-softmmu,arm-linux-user

> +    - IMAGE=debian-arm64-cross

> +      CROSS_PREFIX=aarch64-linux-gnu-

> +      TARGET_LIST=aarch64-softmmu,aarch64-linux-user

> +    - IMAGE=centos6

> +      TARGET_LIST=i386-softmmu,x86_64-softmmu

> +build:

> +  pre_ci:

> +    - make docker-image-${IMAGE}

> +  pre_ci_boot:

> +    image_name: qemu

> +    image_tag: ${IMAGE}

> +    pull: false

> +    options: "-e HOME=/root"

> +  ci:

> +    - unset CC

> +    - ./configure --cross-prefix=${CROSS_PREFIX} --target-list=${TARGET_LIST}

> +    - make -j2


Looks cool!

> diff --git a/MAINTAINERS b/MAINTAINERS

> index 7afbadaa15..578888d32d 100644

> --- a/MAINTAINERS

> +++ b/MAINTAINERS

> @@ -1805,6 +1805,7 @@ M: Alex Bennée <alex.bennee@linaro.org>

>  L: qemu-devel@nongnu.org

>  S: Supported

>  F: .travis.yml

> +F: .shippable.yml

>  

>  Documentation

>  -------------

> -- 

> 2.11.0

> 

> 


May I propose we merge 'docker testing' section of MAINTAINERS into 'build and
test automation' section? I don't know as much about travis (and shippable) but
I'm totally fine if you want to have docker tests under your umbrella, and
it seems a logical step judging from their names.

Fam
Alex Bennée Feb. 14, 2017, 3:56 p.m. | #2
Fam Zheng <famz@redhat.com> writes:

> On Tue, 02/14 10:07, Alex Bennée wrote:

>> Ostensibly Shippable offers a similar set of services as Travis.

>> However they are focused on Docker container based work-flows so we

>> can use our existing containers to run a few extra builds - in this

>> case a bunch of cross-compiled targets on a Debian multiarch system.

>>

>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

>>

>> ---

>> v3

>>   - reduce matrix to armhf/arm64 which currently work

>>   - use the make docker-image-* build stanzas

>>   - add TARGET_LIST to each build

>> ---

>>  .shippable.yml | 23 +++++++++++++++++++++++

>>  MAINTAINERS    |  1 +

>>  2 files changed, 24 insertions(+)

>>  create mode 100644 .shippable.yml

>>

>> diff --git a/.shippable.yml b/.shippable.yml

>> new file mode 100644

>> index 0000000000..e4fa159481

>> --- /dev/null

>> +++ b/.shippable.yml

>> @@ -0,0 +1,23 @@

>> +language: c

>> +env:

>> +  matrix:

>> +    - IMAGE=debian-armhf-cross

>> +      CROSS_PREFIX=arm-linux-gnueabihf-

>> +      TARGET_LIST=arm-softmmu,arm-linux-user

>> +    - IMAGE=debian-arm64-cross

>> +      CROSS_PREFIX=aarch64-linux-gnu-

>> +      TARGET_LIST=aarch64-softmmu,aarch64-linux-user

>> +    - IMAGE=centos6

>> +      TARGET_LIST=i386-softmmu,x86_64-softmmu

>> +build:

>> +  pre_ci:

>> +    - make docker-image-${IMAGE}

>> +  pre_ci_boot:

>> +    image_name: qemu

>> +    image_tag: ${IMAGE}

>> +    pull: false

>> +    options: "-e HOME=/root"

>> +  ci:

>> +    - unset CC

>> +    - ./configure --cross-prefix=${CROSS_PREFIX} --target-list=${TARGET_LIST}

>> +    - make -j2

>

> Looks cool!

>

>> diff --git a/MAINTAINERS b/MAINTAINERS

>> index 7afbadaa15..578888d32d 100644

>> --- a/MAINTAINERS

>> +++ b/MAINTAINERS

>> @@ -1805,6 +1805,7 @@ M: Alex Bennée <alex.bennee@linaro.org>

>>  L: qemu-devel@nongnu.org

>>  S: Supported

>>  F: .travis.yml

>> +F: .shippable.yml

>>

>>  Documentation

>>  -------------

>> --

>> 2.11.0

>>

>>

>

> May I propose we merge 'docker testing' section of MAINTAINERS into 'build and

> test automation' section? I don't know as much about travis (and shippable) but

> I'm totally fine if you want to have docker tests under your umbrella, and

> it seems a logical step judging from their names.


So:

Build and test automation
-------------------------
M: Alex Bennée <alex.bennee@linaro.org>
M: Fam Zheng <famz@redhat.com>
L: qemu-devel@nongnu.org
S: Maintained
F: .travis.yml
F: .shippable.yml
F: tests/docker/

Or did you want to drop out of the review cycle and concentrate on patchew?

--
Alex Bennée
Fam Zheng Feb. 15, 2017, 12:51 a.m. | #3
On Tue, 02/14 15:56, Alex Bennée wrote:
> > May I propose we merge 'docker testing' section of MAINTAINERS into 'build and

> > test automation' section? I don't know as much about travis (and shippable) but

> > I'm totally fine if you want to have docker tests under your umbrella, and

> > it seems a logical step judging from their names.

> 

> So:

> 

> Build and test automation

> -------------------------

> M: Alex Bennée <alex.bennee@linaro.org>

> M: Fam Zheng <famz@redhat.com>

> L: qemu-devel@nongnu.org

> S: Maintained

> F: .travis.yml

> F: .shippable.yml

> F: tests/docker/


Yes, looks good. Please include a patch in v4.

> 

> Or did you want to drop out of the review cycle and concentrate on patchew?


I would still keep my eyes on tests/docker/, the intent is just for being more
compact on MAINTAINERS.

Fam

Patch hide | download patch | download mbox

diff --git a/.shippable.yml b/.shippable.yml
new file mode 100644
index 0000000000..e4fa159481
--- /dev/null
+++ b/.shippable.yml
@@ -0,0 +1,23 @@ 
+language: c
+env:
+  matrix:
+    - IMAGE=debian-armhf-cross
+      CROSS_PREFIX=arm-linux-gnueabihf-
+      TARGET_LIST=arm-softmmu,arm-linux-user
+    - IMAGE=debian-arm64-cross
+      CROSS_PREFIX=aarch64-linux-gnu-
+      TARGET_LIST=aarch64-softmmu,aarch64-linux-user
+    - IMAGE=centos6
+      TARGET_LIST=i386-softmmu,x86_64-softmmu
+build:
+  pre_ci:
+    - make docker-image-${IMAGE}
+  pre_ci_boot:
+    image_name: qemu
+    image_tag: ${IMAGE}
+    pull: false
+    options: "-e HOME=/root"
+  ci:
+    - unset CC
+    - ./configure --cross-prefix=${CROSS_PREFIX} --target-list=${TARGET_LIST}
+    - make -j2
diff --git a/MAINTAINERS b/MAINTAINERS
index 7afbadaa15..578888d32d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1805,6 +1805,7 @@  M: Alex Bennée <alex.bennee@linaro.org>
 L: qemu-devel@nongnu.org
 S: Supported
 F: .travis.yml
+F: .shippable.yml
 
 Documentation
 -------------