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

Message ID 20170216123456.28621-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. 16, 2017, 12:34 p.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 | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 .shippable.yml

-- 
2.11.0

Comments

Fam Zheng Feb. 16, 2017, 1:31 p.m. | #1
On Thu, 02/16 12:34, 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.


Out of curiosity, what are the forms of build report from shippable service?

> 

> 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 | 21 +++++++++++++++++++++

>  1 file changed, 21 insertions(+)

>  create mode 100644 .shippable.yml

> 

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

> new file mode 100644

> index 0000000000..4de8daf341

> --- /dev/null

> +++ b/.shippable.yml

> @@ -0,0 +1,21 @@

> +language: c

> +env:

> +  matrix:

> +    - IMAGE=debian-armhf-cross

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

> +    - IMAGE=debian-arm64-cross

> +      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 ${QEMU_CONFIGURE_OPTS} --target-list=${TARGET_LIST}

> +    - make -j2


It's a good surprise that our docker infrastructure fits in the shippable
framework pretty nicely. :)

Looks good to me without cross checking the shippable API:

Reviewed-by: Fam Zheng <famz@redhat.com>
Alex Bennée Feb. 16, 2017, 7:40 p.m. | #2
Fam Zheng <famz@redhat.com> writes:

> On Thu, 02/16 12:34, 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.

>

> Out of curiosity, what are the forms of build report from shippable

> service?


It sends out emails and there is the web status page:

https://app.shippable.com/runs/58a596c4266ed80f003a9385/summary

There is also support for build badges a.la Travis.

>

>>

>> 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 | 21 +++++++++++++++++++++

>>  1 file changed, 21 insertions(+)

>>  create mode 100644 .shippable.yml

>>

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

>> new file mode 100644

>> index 0000000000..4de8daf341

>> --- /dev/null

>> +++ b/.shippable.yml

>> @@ -0,0 +1,21 @@

>> +language: c

>> +env:

>> +  matrix:

>> +    - IMAGE=debian-armhf-cross

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

>> +    - IMAGE=debian-arm64-cross

>> +      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 ${QEMU_CONFIGURE_OPTS} --target-list=${TARGET_LIST}

>> +    - make -j2

>

> It's a good surprise that our docker infrastructure fits in the shippable

> framework pretty nicely. :)

>

> Looks good to me without cross checking the shippable API:

>

> Reviewed-by: Fam Zheng <famz@redhat.com>



--
Alex Bennée

Patch hide | download patch | download mbox

diff --git a/.shippable.yml b/.shippable.yml
new file mode 100644
index 0000000000..4de8daf341
--- /dev/null
+++ b/.shippable.yml
@@ -0,0 +1,21 @@ 
+language: c
+env:
+  matrix:
+    - IMAGE=debian-armhf-cross
+      TARGET_LIST=arm-softmmu,arm-linux-user
+    - IMAGE=debian-arm64-cross
+      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 ${QEMU_CONFIGURE_OPTS} --target-list=${TARGET_LIST}
+    - make -j2