From 60b5461c6856fbd309ed71b119610af6c58c1037 Mon Sep 17 00:00:00 2001 From: Ben Coman Date: Tue, 8 Jan 2019 22:21:19 +0800 Subject: [PATCH] Add travis_build.sh PLATFORM=mingw_on_linux --- .travis.yml | 70 ++++++++++++++++++++++---------------- scripts/ci/travis_build.sh | 25 +++++++++++++- scripts/ci/travis_test.sh | 6 +++- 3 files changed, 70 insertions(+), 31 deletions(-) diff --git a/.travis.yml b/.travis.yml index a51a78c469..25007885d7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,5 @@ +dist: xenial + language: c sudo: required @@ -6,10 +8,10 @@ addons: apt: update: true -cache: - directories: - - armchroot - - .thirdparty-cache +#cache: +# directories: +# - armchroot +# - .thirdparty-cache #notifications: # slack: @@ -74,7 +76,7 @@ jobs: # <<: *mac-build # - stage: "Stack builds" - env: ARCH="build.mingw32x86-on-linux" FLAVOR="squeak.stack.spur" + env: ARCH="mingw32x86-on-linux" FLAVOR="squeak.stack.spur" # env: ARCH="linux64x64" FLAVOR="newspeak.stack.spur" # - env: ARCH="linux64x64" FLAVOR="squeak.stack.spur" # - env: ARCH="linux32x86" FLAVOR="newspeak.stack.spur" @@ -139,27 +141,37 @@ 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) + provider: releases + api_key: + secure: EFljC5ULmJB72SoG1z2gpCaViUTAkkYVdqlgw9RIi6GawRnoeOarnl+9ejDL8o2wMcWFioqfiYlgzThMuzU4YHUQUsW1IS4QIihtOCu6oWx2VpWp4PjpEi2Z1AYWVDVjKxckil2GTyu+LVSPf7tKyLjw9whEQOV9R/GJ8fLaTEXysholWvQy87AepsMDi1G3REuGJv8sL7fB+5iSRCZlJPR06I9Cu6nCwueCZh70QQlCs+IA/d40nYu7p77CQoo27Pe5PhNiNAVmp4hC6ENHNjKiJ/66/BIbrWVc8NESa0Kvw5LYiQO++1YetH0t7uNy+IARAQMoPbSmD2+Gjsl5aTogZMbDSEpFiHav+pqFRhkime+K9n+HOXIiKQ7ym3EiVJ/3cx/9qv7iYMoRBZOI5AkmEfJeIyxnqtsK97aaTBk55e4ezrat4pduUykwFdYio+yHshkziXj72id3q4JzRJYavm1tlDhrLvObkTati0aXAoWE+iPAttcIKPB8f40GpF9LRYqRmyWwYYSVFTCHTu/YEx8VuOr/8rny6PgXhoM9CedsaZ6YZ4O14h9HIYsRSxWTxS5eZrrsdtPGKMYgNzpcaMHuZ82zw+A6Lc8aBfVzoscu/YAH3fxJHo2fq+ZqcBj3joYX5X+ZAxKE9C/Q2T0bQKELG89rgY8rLpBgg38= + skip_cleanup: true + file_glob: true + file: + - artifacts/* + on: + tags: true + repo: bencoman/travis-mingw-test +# - 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) diff --git a/scripts/ci/travis_build.sh b/scripts/ci/travis_build.sh index ef4d99a88b..07edd8939b 100755 --- a/scripts/ci/travis_build.sh +++ b/scripts/ci/travis_build.sh @@ -1,5 +1,5 @@ #!/bin/bash -x -set -e +set -e env @@ -19,6 +19,8 @@ if [[ "${APPVEYOR}" ]]; then echo test -d /usr/i686-w64-mingw32/sys-root/mingw/lib || echo "No lib dir" test -d /usr/i686-w64-mingw32/sys-root/mingw/include || echo "No inc dir" +elif [[ "${ARCH}" == "mingw"*"on-linux" ]]; then + PLATFORM="mingw_on_linux" else PLATFORM="${TRAVIS_OS_NAME}" fi @@ -116,6 +118,27 @@ build_windows() { popd } +build_mingw_on_linux() { + [[ ! -d "${BUILD_DIRECTORY}" ]] && exit 150 + + pushd "${BUILD_DIRECTORY}" + travis_fold start build_vm "Building OpenSmalltalk VM..." + find /usr/bin | grep mingw | grep gcc + echo PATH=${PATH} + bash -e ./mvm -f + travis_fold end build_vm + + pwd + ls -F + ZIPFILE="Squeak-${ARCH}-${FLAVOUR}Windows" + zip -r $ZIPFILE . build/ + popd + mkdir -p artifacts + mv `find . -name "${ZIPFILE}*"` artifacts + ls -F + ls -F artifacts +} + if [[ ! $(type -t build_$PLATFORM) ]]; then echo "Unsupported platform '$(uname -s)'." 1>&2 exit 99 diff --git a/scripts/ci/travis_test.sh b/scripts/ci/travis_test.sh index fa816e5d31..ad46bbda71 100755 --- a/scripts/ci/travis_test.sh +++ b/scripts/ci/travis_test.sh @@ -2,8 +2,12 @@ set -e # Don't run tests on ARM (ARM builds already take a long time) -[[ "${ARCH}" == *"ARM"* ]] && exit 0 +[[ "${ARCH}" == *"ARM"* ]] && exit 0 +# Can't test a Windows executable on a Linux box +[[ "${ARCH}" == *"mingw"* ]] && exit 0 + +# Test these... case "${FLAVOR}" in "squeak"*|"pharo"*) "./tests/smalltalkCI.sh"