Преглед изворни кода

Build the standalone executable on Travis

Kentaro Wada пре 7 година
родитељ
комит
1a4eb8eb5f
1 измењених фајлова са 31 додато и 5 уклоњено
  1. 31 5
      .travis.yml

+ 31 - 5
.travis.yml

@@ -7,11 +7,11 @@ env:
     # used by ci-helpers
     - SETUP_XVFB=true PIP_DEPENDENCIES='hacking pytest pytest-qt'
   matrix:
-    - PYTEST_QT_API=pyqt4v2 PYQT_PACKAGE='pyqt=4' PYTHON_VERSION=2.7
-    - PYTEST_QT_API=pyside2 CONDA_CHANNELS='conda-forge' PYQT_PACKAGE='pyside2' PYTHON_VERSION=2.7
-    - PYTEST_QT_API=pyside2 CONDA_CHANNELS='conda-forge' PYQT_PACKAGE='pyside2' PYTHON_VERSION=3.6
-    - PYTEST_QT_API=pyqt5 PYQT_PACKAGE='pyqt=5' PYTHON_VERSION=2.7
-    - PYTEST_QT_API=pyqt5 PYQT_PACKAGE='pyqt=5' PYTHON_VERSION=3.6
+    - PYTEST_QT_API=pyqt4v2 PYQT_PACKAGE='pyqt=4' PYTHON_VERSION=2.7.14
+    - PYTEST_QT_API=pyside2 CONDA_CHANNELS='conda-forge' PYQT_PACKAGE='pyside2' PYTHON_VERSION=2.7.14
+    - PYTEST_QT_API=pyside2 CONDA_CHANNELS='conda-forge' PYQT_PACKAGE='pyside2' PYTHON_VERSION=3.6.5
+    - PYTEST_QT_API=pyqt5 PYQT_PACKAGE='pyqt=5' PYTHON_VERSION=2.7.14
+    - PYTEST_QT_API=pyqt5 PYQT_PACKAGE='pyqt=5' PYTHON_VERSION=3.6.5
 
 install:
   - sudo apt-get update
@@ -21,6 +21,8 @@ install:
 
   # Setup miniconda
   - git clone --depth 1 git://github.com/astropy/ci-helpers.git
+  - export __PATH__=$PATH
+  - export __PYTHONPATH__=$PYTHONPATH
   - CONDA_DEPENDENCIES=$PYQT_PACKAGE source ci-helpers/travis/setup_conda.sh
   - source activate test && pip install .
 
@@ -38,6 +40,30 @@ script:
   - (cd examples/semantic_segmentation && rm -rf data_dataset_voc && ./labelme2voc.py labels.txt data_annotated data_dataset_voc && git checkout -- .)
   - (cd examples/instance_segmentation && rm -rf data_dataset_voc && ./labelme2voc.py labels.txt data_annotated data_dataset_voc && git checkout -- .)
 
+after_script:
+  - |
+    if [ $PYTHON_VERSION = "3.6.5" -a $PYQT_PACKAGE = "pyqt=5" ]; then
+      # Cleanup
+      export PATH=$__PATH__
+      export PYTHONPATH=$__PYTHONPATH__
+
+      # Setup pyenv
+      git clone https://github.com/pyenv/pyenv.git $HOME/.pyenv
+      export PYENV_ROOT=$HOME/.pyenv
+      export PATH=$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH
+      pyenv install -ks $PYTHON_VERSION
+      pyenv global $PYTHON_VERSION
+      which python && python --version
+      which pip && pip --version
+
+      # Build the standalone executable
+      pip install .
+      pip uninstall -y matplotlib
+      pip install pyinstaller
+      pyinstaller labelme.spec
+      dist/labelme --version
+    fi
+
 branches:
   only:
     - master