Skip to content

Commit

Permalink
Coverage matrix to condense .travis.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
Ben Coman authored and Ben Coman committed Jan 19, 2019
1 parent 7b4dedb commit 3e4650f
Showing 1 changed file with 106 additions and 144 deletions.
250 changes: 106 additions & 144 deletions .travis.yml
Expand Up @@ -2,6 +2,11 @@ language: c

sudo: required

osx_image:
- xcode7.3

dist: trusty

addons:
apt:
update: true
Expand All @@ -11,153 +16,110 @@ cache:
- armchroot
- .thirdparty-cache

notifications:
slack:
secure: gyekIJqPdx7SxqpugvtpY5mZSg54oFkFJ+DKBPILtjyI/sDhcSwT9GwY/zoHoYkoHrPLepDxyPgkAC8JCcTiAcxOazq5zlVva6SoQRjlDnC64oCYvOj/2giuYkXLXnwvj8mIINEgXzEvLdalpHwazsY0fzKNFM1mdrkPolmf2CvaNbKCGkiagsjrxJHEEB4tLcUP4ArqVE6wb+20HXoMKlHccgCFvN67bYJrTXDnuhEgKMooQRFv0yVoimckdRn1amvIgljavPwv2yHX+V1roneyi90e4ri9AT2sROeRprGnaib9Z8p+/mgWIUnTLL7pjbNHhtvZptsj3xjanWy1Bt/4MMewTWN4REE/KKxLp79CQvGNR+Ki7mF2UpgYUtxHYpFNIGNF9VomwnfWAuYdGDAYAGY3S1W12RPo37CC7RP/lPM96L6ypW41FoQKlnhzm+StJV+mlI5C1jQBU2WKoVhaKXJpraX2mUJXyN8ilYDo7PrJe0SRLH6J2WwPM5Z/RdscBDEGAR4RhZnn++1IE7e1gZPJB4NZH/3wLBwDhz8S4kB/GB32/rz3ZaftCf2+XjAZXzF3SroUCZ/MWZPGrwchEkU/3z1Tm8FTbELxZk1rSYpdLwVnXYooo5vggqjgAZvmlTerJuufl5lOkXT44PynZAvE+I+MrD04DpKuH0w=
#notifications:
# slack:
# secure: gyekIJqPdx7SxqpugvtpY5mZSg54oFkFJ+DKBPILtjyI/sDhcSwT9GwY/zoHoYkoHrPLepDxyPgkAC8JCcTiAcxOazq5zlVva6SoQRjlDnC64oCYvOj/2giuYkXLXnwvj8mIINEgXzEvLdalpHwazsY0fzKNFM1mdrkPolmf2CvaNbKCGkiagsjrxJHEEB4tLcUP4ArqVE6wb+20HXoMKlHccgCFvN67bYJrTXDnuhEgKMooQRFv0yVoimckdRn1amvIgljavPwv2yHX+V1roneyi90e4ri9AT2sROeRprGnaib9Z8p+/mgWIUnTLL7pjbNHhtvZptsj3xjanWy1Bt/4MMewTWN4REE/KKxLp79CQvGNR+Ki7mF2UpgYUtxHYpFNIGNF9VomwnfWAuYdGDAYAGY3S1W12RPo37CC7RP/lPM96L6ypW41FoQKlnhzm+StJV+mlI5C1jQBU2WKoVhaKXJpraX2mUJXyN8ilYDo7PrJe0SRLH6J2WwPM5Z/RdscBDEGAR4RhZnn++1IE7e1gZPJB4NZH/3wLBwDhz8S4kB/GB32/rz3ZaftCf2+XjAZXzF3SroUCZ/MWZPGrwchEkU/3z1Tm8FTbELxZk1rSYpdLwVnXYooo5vggqjgAZvmlTerJuufl5lOkXT44PynZAvE+I+MrD04DpKuH0w=

#notifications:
# email:
# - vm-dev@lists.squeakfoundation.org

stages: # order of...
- Production
- Coverage
- Experimental
- Other



# Sections 'os:' and 'env:' are cross-tabulated to form the 'Coverage' matrix
# 'Production' jobs are pulled out of that matrix into their own section

stage: Coverage

aliases:
- &mac-build
os: osx
osx_image: xcode7.3
os:
- linux
- osx
# - windows

notifications:
email:
- vm-dev@lists.squeakfoundation.org
env: [
&Squeak32 "BUILD=32x86/squeak.cog.spur TESTIMAGE=Squeak32-5.1",
&Pharo32 "BUILD=32x86/pharo.cog.spur TESTIMAGE=Pharo32-5.0 HEATBEAT=threaded",
"BUILD=32x86/newspeak.cog.spur TESTIMAGE=refer_newspeakBootstrap.sh",
"BUILD=32x86/squeak.cog.v3 TESTIMAGE=Squeak32-4.6",

"BUILD=32x86/squeak.cog.spur TESTIMAGE=Squeak32-5.1",
"BUILD=32x86/pharo.cog.spur TESTIMAGE=Pharo32-5.0 HEATBEAT=threaded",
"BUILD=32x86/newspeak.cog.spur TESTIMAGE=refer_newspeakBootstrap.sh",
"BUILD=32x86/squeak.cog.v3 TESTIMAGE=Squeak32-4.6",

&Squeak64 "BUILD=64x64/squeak.cog.spur TESTIMAGE=Squeak32-5.1",
&Pharo64 "BUILD=64x64/pharo.cog.spur TESTIMAGE=Pharo32-5.0 HEATBEAT=threaded",
"BUILD=64x64/newspeak.cog.spur TESTIMAGE=refer_newspeakBootstrap.sh",

"BUILD=64x64/squeak.cog.spur TESTIMAGE=Squeak32-5.1",
"BUILD=64x64/pharo.cog.spur TESTIMAGE=Pharo32-5.0 HEATBEAT=threaded",
"BUILD=64x64/newspeak.cog.spur TESTIMAGE=refer_newspeakBootstrap.sh",
]

matrix:
allow_failures:
- stage: Coverage
- stage: Experimental
# Define the 'Production' jobs that are excluded from the 'Coverage' matrix
exclude: [
&P01 { "os":"linux", "env":*Pharo64 },
&P02 { "os":"osx", "env":*Pharo64 },
&P03 { "os":"linux", "env":*Squeak64 },
&P04 { "os":"osx", "env":*Squeak64 },

&P05 { "os":"linux", "env":*Pharo32 },
&P06 { "os":"osx", "env":*Pharo32 },
&P07 { "os":"linux", "env":*Squeak32 },
&P08 { "os":"osx", "env":*Squeak32 },
]

jobs:
fast_finish: true
include:
- stage: "Main Squeak and Pharo builds"
env: ARCH="linux32x86" FLAVOR="squeak.cog.spur"
- env: ARCH="macos32x86" FLAVOR="squeak.cog.spur"
<<: *mac-build
- env: ARCH="linux64x64" FLAVOR="squeak.cog.spur"
- env: ARCH="macos64x64" FLAVOR="squeak.cog.spur"
<<: *mac-build
- env: ARCH="linux32x86" FLAVOR="pharo.cog.spur" HEARTBEAT="threaded"
- env: ARCH="macos32x86" FLAVOR="pharo.cog.spur"
<<: *mac-build
- env: ARCH="linux64x64" FLAVOR="pharo.cog.spur" HEARTBEAT="threaded"
- env: ARCH="macos64x64" FLAVOR="pharo.cog.spur"
<<: *mac-build

- stage: "Other Linux builds"
env: ARCH="linux64x64" FLAVOR="newspeak.cog.spur"
- env: ARCH="linux64x64" FLAVOR="pharo.cog.spur" HEARTBEAT="itimer"
# - env: ARCH="linux64x64" FLAVOR="pharo.sista.spur" HEARTBEAT="threaded"
- env: ARCH="linux32x86" FLAVOR="newspeak.cog.spur"
- env: ARCH="linux32x86" FLAVOR="squeak.cog.v3"
- env: ARCH="linux32x86" FLAVOR="squeak.sista.spur"
- env: ARCH="linux32x86" FLAVOR="pharo.cog.spur" HEARTBEAT="itimer"
- env: ARCH="linux32x86" FLAVOR="pharo.sista.spur" HEARTBEAT="threaded"
compiler: clang
- env: ARCH="linux32x86" FLAVOR="pharo.sista.spur" HEARTBEAT="itimer"
compiler: clang

- stage: "Other Mac builds"
env: ARCH="macos64x64" FLAVOR="newspeak.cog.spur"
<<: *mac-build
# - env: ARCH="macos64x64" FLAVOR="pharo.sista.spur"
# <<: *mac-build
- env: ARCH="macos64x64" FLAVOR="pharo.cog.spur.lowcode"
<<: *mac-build
- env: ARCH="macos32x86" FLAVOR="newspeak.cog.spur"
<<: *mac-build
- env: ARCH="macos32x86" FLAVOR="pharo.sista.spur"
<<: *mac-build
- env: ARCH="macos32x86" FLAVOR="pharo.cog.spur.lowcode"
<<: *mac-build
- env: ARCH="macos32x86" FLAVOR="squeak.cog.v3"
<<: *mac-build
- env: ARCH="macos32x86" FLAVOR="squeak.sista.spur"
<<: *mac-build

- stage: "Stack builds"
env: ARCH="linux64x64" FLAVOR="newspeak.stack.spur"
- env: ARCH="linux64x64" FLAVOR="squeak.stack.spur"
- env: ARCH="linux32x86" FLAVOR="newspeak.stack.spur"
- env: ARCH="linux32x86" FLAVOR="squeak.stack.spur"
- env: ARCH="linux32x86" FLAVOR="squeak.stack.v3"
- env: ARCH="macos64x64" FLAVOR="pharo.stack.spur"
<<: *mac-build
- env: ARCH="macos64x64" FLAVOR="pharo.stack.spur.lowcode"
<<: *mac-build
- env: ARCH="macos64x64" FLAVOR="squeak.stack.spur"
<<: *mac-build
- env: ARCH="macos32x86" FLAVOR="newspeak.stack.spur"
<<: *mac-build
- env: ARCH="macos64x64" FLAVOR="newspeak.stack.spur"
<<: *mac-build
- env: ARCH="macos32x86" FLAVOR="pharo.stack.spur"
<<: *mac-build
- env: ARCH="macos32x86" FLAVOR="pharo.stack.spur.lowcode"
<<: *mac-build
- env: ARCH="macos32x86" FLAVOR="squeak.stack.spur"
<<: *mac-build
- env: ARCH="macos32x86" FLAVOR="squeak.stack.v3"
<<: *mac-build

- stage: "linux32ARMv6 builds"
env: ARCH="linux32ARMv6" FLAVOR="newspeak.cog.spur" CHROOT="schroot -p -c rpi
-- bash -c "
dist: trusty
group: edge
- env: ARCH="linux32ARMv6" FLAVOR="newspeak.stack.spur" CHROOT="schroot -p -c rpi
-- bash -c "
dist: trusty
group: edge
- env: ARCH="linux32ARMv6" FLAVOR="squeak.cog.spur" CHROOT="schroot -p -c rpi --
bash -c "
dist: trusty
group: edge
- env: ARCH="linux32ARMv6" FLAVOR="pharo.cog.spur" CHROOT="schroot -p -c rpi --
bash -c "
dist: trusty
group: edge
- env: ARCH="linux32ARMv6" FLAVOR="squeak.stack.spur" CHROOT="schroot -p -c rpi
-- bash -c "
dist: trusty
group: edge
- env: ARCH="linux32ARMv6" FLAVOR="squeak.stack.v3" CHROOT="schroot -p -c rpi --
bash -c "
dist: trusty
group: edge
allow_failures:
- env: FLAVOR="squeak.sista.spur"
- env: FLAVOR="pharo.sista.spur"
- env: FLAVOR="squeak.cog.spur.lowcode"
- env: FLAVOR="pharo.cog.spur.lowcode"

install: ./scripts/ci/travis_install.sh

before_script: $CHROOT ./scripts/ci/travis_build.sh

script: ./scripts/ci/travis_test.sh

after_success: (cd deploy && ./filter-exec.sh pack-vm.sh)

deploy:
- provider: script # Deploy bleeding edge to Bintray
script: (cd deploy && ./bintray.sh)
skip_cleanup: true
on:
repo: OpenSmalltalk/opensmalltalk-vm
branch: Cog
- provider: script # Deploy to files.pharo.org
script: (cd deploy/pharo && ./filter-exec.sh ./deploy.sh)
skip_cleanup: true
on:
repo: OpenSmalltalk/opensmalltalk-vm
branch: Cog
condition: $FLAVOR == pharo*
- provider: releases # Deploy stable tags to GitHub releases
api_key:
secure: ASzbVm1ootfvzfAYm50rWCfIvwp/O+6N1NMv2lymvswj/sGW7MxmYGHj2UNtLg9OAD+lL9YyElyy94MCpSK496+pD7GrOdRAitilMreWR6jGab0D92pPcujMAsDDSRTPNZsui1kvK1skWGMCN41mXLlwtCxSqWdhQ1viMmjXeK29TJbHykFEdfgZc6RcB97NdMyz6Pp9uqbxXSA656UxeLJzsKX88mXFcd5983pVt1ME8dfeUC9dwTihG5IAEg3Uz6HDxcR3uero0alLXycer5zI1kHLede03aNNvcRcUnVjBa5rNY8ON884DblDC+lcc+8b104MQTAGKWbyibjpm+9b0oWJV/tB20VdJUxZ2MpuktLzUrFBjVFjSrB5NmkITtJ1o+eYmjJOzWZNqFueNIsEkbGItDQJkKhNySBnUZ3/gyxnTBwmulUF2i8dimdwAuZlMiTN5mqpSLzLCE9ZrGWz9zuuCCombvpNIAc2IMsaTlpj391TjQfqGvu+Z88hmJOmDwpdUsGwNHo+Cz1N+KivAfySgj1T+CfE4xnuKOQzVbUK1Aqv/uGl1ieS1MfgyrqfgvRWEcGQh7/35n6yxG5s2z1qrs9Vl0e0rN261GQuK5ElNsQSLVRNH13+PdDwTCEZ/APzo+0uGRGTmGKJtzAofmkeAsrwmgGJPAuip/0=
file_glob: true
file: "./products/*.{dmg,gz,zip}"
skip_cleanup: true
on:
repo: OpenSmalltalk/opensmalltalk-vm
tags: true

after_deploy: (cd deploy && ./filter-exec.sh bintray-cleanup.sh)
# Put 'Production' jobs in their own stage using alias from 'excude:' section
- stage: Production
<<: *P01
- stage: Production
<<: *P02
- stage: Production
<<: *P03
- stage: Production
<<: *P04
- stage: Production
<<: *P05
- stage: Production
<<: *P06
- stage: Production
<<: *P07
- stage: Production
<<: *P08

# - { "stage":"Experimental", "os":"osx", "env":"BUILD=32x86/pharo.sista.spur" }
# - { "stage":"Experimental", "os":"linux", "env":"BUILD=32x86/squeak.sista.spur" }
# - { "stage":"Experimental", "os":"linux", "env":"BUILD=32x86/squeak.sista.spur TESTFAIL=1" }
# - { "stage":"Experimental", "os":"linux", "env":"BUILD=32x86/pharo.sista.spur HEARTBEAT=threaded", "compiler": "clang" }
# - { "stage":"Experimental", "os":"linux", "env":"BUILD=32x86/pharo.sista.spur HEARTBEAT=itimer", "compiler": "clang" }
# - { "stage":"Experimental", "os":"osx", "env":"BUILD=32x86/pharo.cog.spur.lowcode" }
# - { "stage":"Experimental", "os":"osx", "env":"BUILD=64x64/pharo.cog.spur.lowcode" }
# - { "stage":"Experimental", "os":"osx", "env":"BUILD=32x86/pharo.stack.spur.lowcode" }
# - { "stage":"Experimental", "os":"osx", "env":"BUILD=64x64/pharo.stack.spur.lowcode" }

# - { "stage":"Other", "os":"linux", "env":"BUILD=32ARMv6/newspeak.cog.spur CHROOT=\"schroot -p -c rpi -- bash -c\"", "group": "edge" }
# - { "stage":"Other", "os":"linux", "env":"BUILD=32ARMv6/newspeak.stack.spur CHROOT=\"schroot -p -c rpi -- bash -c\"", "group": "edge" }
# - { "stage":"Other", "os":"linux", "env":"BUILD=32ARMv6/squeak.cog.spur CHROOT=\"schroot -p -c rpi -- bash -c\"", "group": "edge" }
# - { "stage":"Other", "os":"linux", "env":"BUILD=32ARMv6/pharo.cog.spur CHROOT=\"schroot -p -c rpi -- bash -c\"", "group": "edge" }
# - { "stage":"Other", "os":"linux", "env":"BUILD=32ARMv6/squeak.stack.spur CHROOT=\"schroot -p -c rpi -- bash -c\"", "group": "edge" }
# - { "stage":"Other", "os":"linux", "env":"BUILD=32ARMv6/squeak.stack.v3 CHROOT=\"schroot -p -c rpi -- bash -c\"", "group": "edge" }
#
# # Putting quicker builds last makes the overall stage faster
# - { "stage":"Other", "os":"linux", "env":"BUILD=32x86/pharo.cog.spur HEARTBEAT=itimer" }
# - { "stage":"Other", "os":"linux", "env":"BUILD=64x64/pharo.cog.spur HEARTBEAT=itimer" }
#
# ]

0 comments on commit 3e4650f

Please sign in to comment.