diff --git a/.travis.yml b/.travis.yml index a51a78c469..91e034af98 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,5 @@ +dist: xenial + language: c sudo: required @@ -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" 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"