dockcross/.circleci/config.yml
2018-03-19 14:55:14 +02:00

578 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 }}
- 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 }}
- 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 }}
- 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 }}
- 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
- 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
- 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
- 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
- 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
- linux-armv5:
requires:
- base
- linux-armv6:
requires:
- base
- linux-armv7:
requires:
- base
- linux-mipsel:
requires:
- base
- linux-s390x:
requires:
- base
- 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
- linux-armv7
- linux-mipsel
- linux-s390x
- linux-ppc64le
- linux-x64
- linux-x86
- manylinux-x64
- manylinux-x86
- windows-x64
- windows-x86