dockcross/.circleci/config.yml
2018-04-29 03:34:53 -04:00

592 lines
18 KiB
YAML

build-settings: &build-settings
machine: true
working_directory: ~/dockcross
resource_class: large
version: 2
jobs:
base:
<<: *build-settings
steps:
- checkout
- run:
name: base build
command: |
docker pull debian:jessie
make base
mkdir -p ~/docker
docker save -o ~/docker/base.tar debian:jessie dockcross/base:latest
- run:
name: base test
command: |
make base.test
- save_cache:
key: base-assets-{{ .Revision }}
paths:
- ~/docker/base.tar
- ~/dockcross
android-arm:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
- run:
name: android-arm build
no_output_timeout: 1.5h
command: |
docker load -i ~/docker/base.tar
make android-arm
docker save -o ~/docker/android-arm.tar dockcross/android-arm:latest
- run:
name: android-arm test
command: |
make android-arm.test
- save_cache:
key: android-arm-assets-{{ .Revision }}
paths: ~/docker/android-arm.tar
android-arm64:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
- run:
name: android-arm64 build
no_output_timeout: 1.5h
command: |
docker load -i ~/docker/base.tar
make android-arm64
docker save -o ~/docker/android-arm64.tar dockcross/android-arm64:latest
- run:
name: android-arm64 test
command: |
make android-arm64.test
- save_cache:
key: android-arm64-assets-{{ .Revision }}
paths: ~/docker/android-arm64.tar
browser-asmjs:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
- run:
name: browser-asmjs build
no_output_timeout: 1.5h
command: |
docker load -i ~/docker/base.tar
make browser-asmjs
docker save -o ~/docker/browser-asmjs.tar dockcross/browser-asmjs:latest
- run:
name: browser-asmjs test
command: |
make browser-asmjs.test
- save_cache:
key: browser-asmjs-assets-{{ .Revision }}
paths: ~/docker/browser-asmjs.tar
linux-arm64:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
- run:
name: linux-arm64 build
no_output_timeout: 1.5h
command: |
docker load -i ~/docker/base.tar
make linux-arm64
docker save -o ~/docker/linux-arm64.tar dockcross/linux-arm64:latest
- run:
name: linux-arm64 test
command: |
make linux-arm64.test
- save_cache:
key: linux-arm64-assets-{{ .Revision }}
paths: ~/docker/linux-arm64.tar
linux-armv5:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
# Image build currently broken. See #209
#- run:
#name: linux-armv5 build
#no_output_timeout: 1.5h
#command: |
#docker load -i ~/docker/base.tar
#make linux-armv5
#docker save -o ~/docker/linux-armv5.tar dockcross/linux-armv5:latest
#- run:
#name: linux-armv5 test
#command: |
#make linux-armv5.test
- save_cache:
key: linux-armv5-assets-{{ .Revision }}
paths: ~/docker/linux-armv5.tar
linux-armv6:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
- run:
name: linux-armv6 build
no_output_timeout: 1.5h
command: |
docker load -i ~/docker/base.tar
make linux-armv6
docker save -o ~/docker/linux-armv6.tar dockcross/linux-armv6:latest
- run:
name: linux-armv6 test
command: |
make linux-armv6.test
- save_cache:
key: linux-armv6-assets-{{ .Revision }}
paths: ~/docker/linux-armv6.tar
linux-armv7:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
# Image build currently broken. See #209
#- run:
#name: linux-armv7 build
#no_output_timeout: 1.5h
#command: |
#docker load -i ~/docker/base.tar
#make linux-armv7
#docker save -o ~/docker/linux-armv7.tar dockcross/linux-armv7:latest
#- run:
#name: linux-armv7 test
#command: |
#make linux-armv7.test
- save_cache:
key: linux-armv7-assets-{{ .Revision }}
paths: ~/docker/linux-armv7.tar
linux-mipsel:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
# Image build currently broken. See #209
#- run:
#name: linux-mipsel build
#no_output_timeout: 1.5h
#command: |
#docker load -i ~/docker/base.tar
#make linux-mipsel
#docker save -o ~/docker/linux-mipsel.tar dockcross/linux-mipsel:latest
#- run:
#name: linux-mipsel test
#command: |
#make linux-mipsel.test
- save_cache:
key: linux-mipsel-assets-{{ .Revision }}
paths: ~/docker/linux-mipsel.tar
linux-s390x:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
- run:
name: linux-s390x build
no_output_timeout: 1.5h
command: |
docker load -i ~/docker/base.tar
make linux-s390x
docker save -o ~/docker/linux-s390x.tar dockcross/linux-s390x:latest
- run:
name: linux-s390x test
command: |
make linux-s390x.test
- save_cache:
key: linux-s390x-assets-{{ .Revision }}
paths: ~/docker/linux-s390x.tar
linux-ppc64le:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
# Image build currently broken. See #209
#- run:
#name: linux-ppc64le build
#no_output_timeout: 1.5h
#command: |
#docker load -i ~/docker/base.tar
#make linux-ppc64le
#docker save -o ~/docker/linux-ppc64le.tar dockcross/linux-ppc64le:latest
#- run:
#name: linux-ppc64le test
#command: |
#make linux-ppc64le.test
- save_cache:
key: linux-ppc64le-assets-{{ .Revision }}
paths: ~/docker/linux-ppc64le.tar
linux-x64:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
- run:
name: linux-x64 build
no_output_timeout: 1.5h
command: |
docker load -i ~/docker/base.tar
make linux-x64
docker save -o ~/docker/linux-x64.tar dockcross/linux-x64:latest
- run:
name: linux-x64 test
command: |
make linux-x64.test
- save_cache:
key: linux-x64-assets-{{ .Revision }}
paths: ~/docker/linux-x64.tar
linux-x86:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
- run:
name: linux-x86 build
no_output_timeout: 1.5h
command: |
docker load -i ~/docker/base.tar
make linux-x86
docker save -o ~/docker/linux-x86.tar dockcross/linux-x86:latest
- run:
name: linux-x86 test
command: |
make linux-x86.test
- save_cache:
key: linux-x86-assets-{{ .Revision }}
paths: ~/docker/linux-x86.tar
manylinux-x64:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
- run:
name: manylinux-x64 build
no_output_timeout: 1.5h
command: |
docker load -i ~/docker/base.tar
make manylinux-x64
docker save -o ~/docker/manylinux-x64.tar dockcross/manylinux-x64:latest
- run:
name: manylinux-x64 test
command: |
make manylinux-x64.test
- save_cache:
key: manylinux-x64-assets-{{ .Revision }}
paths: ~/docker/manylinux-x64.tar
manylinux-x86:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
- run:
name: manylinux-x86 build
no_output_timeout: 1.5h
command: |
docker load -i ~/docker/base.tar
make manylinux-x86
docker save -o ~/docker/manylinux-x86.tar dockcross/manylinux-x86:latest
- run:
name: manylinux-x86 test
command: |
make manylinux-x86.test
- save_cache:
key: manylinux-x86-assets-{{ .Revision }}
paths: ~/docker/manylinux-x86.tar
windows-x64:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
- run:
no_output_timeout: 1.5h
name: windows-x64 build
command: |
docker load -i ~/docker/base.tar
make windows-x64
docker save -o ~/docker/windows-x64.tar dockcross/windows-x64:latest
- run:
name: windows-x64 test
command: |
make windows-x64.test
- save_cache:
key: windows-x64-assets-{{ .Revision }}
paths: ~/docker/windows-x64.tar
windows-x86:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
- run:
no_output_timeout: 1.5h
name: windows-x86 build
command: |
docker load -i ~/docker/base.tar
make windows-x86
docker save -o ~/docker/windows-x86.tar dockcross/windows-x86:latest
- run:
name: windows-x86 test
command: |
make windows-x86.test
- save_cache:
key: windows-x86-assets-{{ .Revision }}
paths: ~/docker/windows-x86.tar
deploy:
<<: *build-settings
steps:
- restore_cache:
key: base-assets-{{ .Revision }}
- deploy:
name: Deploy base
command: |
docker load -i ~/docker/base.tar
if [ "${CIRCLE_BRANCH}" == "master" ]; then
docker login -u $DOCKER_USER -p $DOCKER_PASS
docker push dockcross/base:latest
fi
- restore_cache:
key: android-arm-assets-{{ .Revision }}
- deploy:
name: Deploy android-arm
command: |
docker load -i ~/docker/android-arm.tar
if [ "${CIRCLE_BRANCH}" == "master" ]; then
docker login -u $DOCKER_USER -p $DOCKER_PASS
docker push dockcross/android-arm:latest
fi
- restore_cache:
key: android-arm64-assets-{{ .Revision }}
- deploy:
name: Deploy android-arm64
command: |
docker load -i ~/docker/android-arm64.tar
if [ "${CIRCLE_BRANCH}" == "master" ]; then
docker login -u $DOCKER_USER -p $DOCKER_PASS
docker push dockcross/android-arm64:latest
fi
- restore_cache:
key: browser-asmjs-assets-{{ .Revision }}
- deploy:
name: Deploy browser-asmjs
command: |
docker load -i ~/docker/browser-asmjs.tar
if [ "${CIRCLE_BRANCH}" == "master" ]; then
docker login -u $DOCKER_USER -p $DOCKER_PASS
docker push dockcross/browser-asmjs:latest
fi
- restore_cache:
key: linux-arm64-assets-{{ .Revision }}
- deploy:
name: Deploy linux-arm64
command: |
docker load -i ~/docker/linux-arm64.tar
if [ "${CIRCLE_BRANCH}" == "master" ]; then
docker login -u $DOCKER_USER -p $DOCKER_PASS
docker push dockcross/linux-arm64:latest
fi
# Image build currently broken. See #209
#- restore_cache:
#key: linux-armv5-assets-{{ .Revision }}
#- deploy:
#name: Deploy linux-armv5
#command: |
#docker load -i ~/docker/linux-armv5.tar
#if [ "${CIRCLE_BRANCH}" == "master" ]; then
#docker login -u $DOCKER_USER -p $DOCKER_PASS
#docker push dockcross/linux-armv5:latest
#fi
- restore_cache:
key: linux-armv6-assets-{{ .Revision }}
- deploy:
name: Deploy linux-armv6
command: |
docker load -i ~/docker/linux-armv6.tar
if [ "${CIRCLE_BRANCH}" == "master" ]; then
docker login -u $DOCKER_USER -p $DOCKER_PASS
docker push dockcross/linux-armv6:latest
fi
# Image build currently broken. See #209
#- restore_cache:
#key: linux-armv7-assets-{{ .Revision }}
#- deploy:
#name: Deploy linux-armv7
#command: |
#docker load -i ~/docker/linux-armv7.tar
#if [ "${CIRCLE_BRANCH}" == "master" ]; then
#docker login -u $DOCKER_USER -p $DOCKER_PASS
#docker push dockcross/linux-armv7:latest
#fi
# Image build currently broken. See #209
#- restore_cache:
#key: linux-mipsel-assets-{{ .Revision }}
#- deploy:
#name: Deploy linux-mipsel
#command: |
#docker load -i ~/docker/linux-mipsel.tar
#if [ "${CIRCLE_BRANCH}" == "master" ]; then
#docker login -u $DOCKER_USER -p $DOCKER_PASS
#docker push dockcross/linux-mipsel:latest
#fi
- restore_cache:
key: linux-s390x-assets-{{ .Revision }}
- deploy:
name: Deploy linux-s390x
command: |
docker load -i ~/docker/linux-s390x.tar
if [ "${CIRCLE_BRANCH}" == "master" ]; then
docker login -u $DOCKER_USER -p $DOCKER_PASS
docker push dockcross/linux-s390x:latest
fi
# Image build currently broken. See #209
#- restore_cache:
#key: linux-ppc64le-assets-{{ .Revision }}
#- deploy:
#name: Deploy linux-ppc64le
#command: |
#docker load -i ~/docker/linux-ppc64le.tar
#if [ "${CIRCLE_BRANCH}" == "master" ]; then
#docker login -u $DOCKER_USER -p $DOCKER_PASS
#docker push dockcross/linux-ppc64le:latest
#fi
- restore_cache:
key: linux-x64-assets-{{ .Revision }}
- deploy:
name: Deploy linux-x64
command: |
docker load -i ~/docker/linux-x64.tar
if [ "${CIRCLE_BRANCH}" == "master" ]; then
docker login -u $DOCKER_USER -p $DOCKER_PASS
docker push dockcross/linux-x64:latest
fi
- restore_cache:
key: linux-x86-assets-{{ .Revision }}
- deploy:
name: Deploy linux-x86
command: |
docker load -i ~/docker/linux-x86.tar
if [ "${CIRCLE_BRANCH}" == "master" ]; then
docker login -u $DOCKER_USER -p $DOCKER_PASS
docker push dockcross/linux-x86:latest
fi
- restore_cache:
key: manylinux-x64-assets-{{ .Revision }}
- deploy:
name: Deploy manylinux-x64
command: |
docker load -i ~/docker/manylinux-x64.tar
if [ "${CIRCLE_BRANCH}" == "master" ]; then
docker login -u $DOCKER_USER -p $DOCKER_PASS
docker push dockcross/manylinux-x64:latest
fi
- restore_cache:
key: manylinux-x86-assets-{{ .Revision }}
- deploy:
name: Deploy manylinux-x86
command: |
docker load -i ~/docker/manylinux-x86.tar
if [ "${CIRCLE_BRANCH}" == "master" ]; then
docker login -u $DOCKER_USER -p $DOCKER_PASS
docker push dockcross/manylinux-x86:latest
fi
- restore_cache:
key: windows-x64-assets-{{ .Revision }}
- deploy:
name: Deploy windows-x64
command: |
docker load -i ~/docker/windows-x64.tar
if [ "${CIRCLE_BRANCH}" == "master" ]; then
docker login -u $DOCKER_USER -p $DOCKER_PASS
docker push dockcross/windows-x64:latest
fi
- restore_cache:
key: windows-x86-assets-{{ .Revision }}
- deploy:
name: Deploy windows-x86
command: |
docker load -i ~/docker/windows-x86.tar
if [ "${CIRCLE_BRANCH}" == "master" ]; then
docker login -u $DOCKER_USER -p $DOCKER_PASS
docker push dockcross/windows-x86:latest
fi
workflows:
version: 2
build-test-deploy:
jobs:
- base
- android-arm:
requires:
- base
- android-arm64:
requires:
- base
- browser-asmjs:
requires:
- base
- linux-arm64:
requires:
- base
# Image build currently broken. See #209
#- linux-armv5:
#requires:
#- base
- linux-armv6:
requires:
- base
# Image build currently broken. See #209
#- linux-armv7:
#requires:
#- base
# Image build currently broken. See #209
#- linux-mipsel:
#requires:
#- base
- linux-s390x:
requires:
- base
# Image build currently broken. See #209
#- linux-ppc64le:
#requires:
#- base
- linux-x64:
requires:
- base
- linux-x86:
requires:
- base
- manylinux-x64:
requires:
- base
- manylinux-x86:
requires:
- base
- windows-x64:
requires:
- base
- windows-x86:
requires:
- base
- deploy:
requires:
- base
- android-arm
- android-arm64
- browser-asmjs
- linux-arm64
#- linux-armv5
- linux-armv6
# Image build currently broken. See #209
#- linux-armv7
#- linux-mipsel
- linux-s390x
# Image build currently broken. See #209
#- linux-ppc64le
- linux-x64
- linux-x86
- manylinux-x64
- manylinux-x86
- windows-x64
- windows-x86