summaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml60
1 files changed, 43 insertions, 17 deletions
diff --git a/.travis.yml b/.travis.yml
index 0bc49e06..a5841ba5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -23,6 +23,11 @@ matrix:
sudo: required
env: BUILD=windows
if: tag =~ ^v[0-9.]+$ OR branch != master
+ - language: generic
+ os: osx
+ sudo: required
+ env: BUILD=osx
+ if: tag =~ ^v[0-9.]+$ OR branch != master
branches:
except:
- /^dev-build-/
@@ -48,23 +53,20 @@ install:
# for wxPython
sudo apt-get install glib-networking
- # for embroidermodder/libembroidery
- sudo apt-get install swig python-dev
-
# This is the same as the pypi module PyGObject. We can't just do
# "pip install PyGObject" because it depends on a version of
# libgirepository1.0-dev that doesn't exist in Trusty.
sudo apt-get install python-gi python-gi-cairo libgirepository1.0-dev
-
+
# wxPython doen't publish linux wheels in pypi
wget -q https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-14.04/wxPython-4.0.3-cp27-cp27mu-linux_x86_64.whl
pip install wxPython-4.0.3-cp27-cp27mu-linux_x86_64.whl
-
+
# We can't use the shapely wheel because it includes the geos
# library but with a weird file name. Details:
# https://github.com/pyinstaller/pyinstaller/blob/61b1c75c2b0469b32d114298a63bf60b8d597e37/PyInstaller/hooks/hook-shapely.py#L34
pip install --no-binary shapely -r requirements.txt
-
+
pip install pyinstaller
elif [ "$BUILD" = "windows" ]; then
set -x
@@ -78,10 +80,6 @@ install:
export WINEDEBUG=-all
- wget -q https://github.com/lexelby/inkstitch-build-objects/releases/download/v1.1.0/windows-libembroidery.tar.gz
- tar zxf windows-libembroidery.tar.gz
- rm windows-libembroidery.tar.gz
-
wget -q http://download.microsoft.com/download/1/1/1/1116b75a-9ec3-481a-a3c8-1777b5381140/vcredist_x86.exe
wine vcredist_x86.exe /q
@@ -97,6 +95,31 @@ install:
wine c:\\Python\\python.exe c:\\Python\\scripts\\pip.exe install -r requirements.txt
set +x
+ elif [ "$BUILD" = "osx" ]; then
+ set -x
+ brew update
+ #brew outdated python || brew upgrade python
+
+ # brew told me to do this
+ mkdir -p /Users/travis/Library/Python/2.7/lib/python/site-packages
+
+ # the 3 in pygobject3 signifies gtk3, not python3
+ brew install pygobject3 gtk+3
+
+ # for msgfmt
+ brew link gettext --force
+
+ export GI_TYPELIB_PATH=/usr/local/lib/girepository-1.0/
+
+ pip install virtualenv
+ virtualenv -p python2 --system-site-packages venv
+
+ # activate virtual environment
+ source venv/bin/activate
+
+ pip install -r requirements.txt
+ pip install pyinstaller
+ set +x
elif [ -n "$LINT" ]; then
pip install flake8
fi
@@ -104,16 +127,19 @@ before_script:
- "echo LINT: $LINT BUILD: $BUILD"
script:
- |
- set -e
+ if [ -n "$BUILD" -a "$DEBUG_BUILD" = "$BUILD" ]; then
+ mkdir .ssh
+ echo -e "${SSH_KEY}" > .ssh/id_rsa
+ chmod -R go-rwx .ssh
+ mkfifo fifo
+ ( while :; do cat fifo | /bin/bash -i 2>&1 | nc -l 127.0.0.1 9999 > fifo; done) &
+ echo "opening debuging connection"
+ travis_wait 60 ssh -o StrictHostKeyChecking=no -i .ssh/id_rsa -N -R 9999:localhost:9999 debug@lex.gd
+ fi
if [ -n "$LINT" ]; then
flake8 . --count --exit-zero --select=E901,E999,F821,F822,F823 --show-source --statistics --exclude=embroidermodder
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics --exclude=embroidermodder
- elif [ "$BUILD" = "linux" ]; then
- (
- cd embroidermodder/experimental
- qmake swigpython.pro
- make
- )
+ elif [ "$BUILD" = "linux" -o "$BUILD" = "osx" ]; then
make dist
elif [ "$BUILD" = "windows" ]; then
# work around some bug... pyinstaller? shapely? not sure.