language: generic cache: - pip sudo: required dist: trusty branches: only: - master - /v\d+\.\d+.\d+/ notifications: email: false env: global: # used by ci-helpers - SETUP_XVFB=true - PIP_DEPENDENCIES='hacking pytest pytest-qt' - MPLBACKEND=TkAgg # for osx matrix: include: - os: osx env: - PYTEST_QT_API=pyqt5 - PYQT_PACKAGE='pyqt=5' - PYTHON_VERSION=3.6 - RUN_PYINSTALLER=true - os: linux dist: trusty env: - PYTEST_QT_API=pyqt4v2 - PYQT_PACKAGE='pyqt=4' - PYTHON_VERSION=2.7 - os: linux dist: trusty env: - PYTEST_QT_API=pyside2 - CONDA_CHANNELS='conda-forge' - PYQT_PACKAGE='pyside2!=5.12.4' - PYTHON_VERSION=2.7 - os: linux dist: trusty env: - PYTEST_QT_API=pyside2 - CONDA_CHANNELS='conda-forge' - PYQT_PACKAGE='pyside2' - PYTHON_VERSION=3.6 - os: linux dist: trusty env: - PYTEST_QT_API=pyqt5 - PYQT_PACKAGE='pyqt=5' - PYTHON_VERSION=2.7 - os: linux dist: trusty env: - PYTEST_QT_API=pyqt5 - PYQT_PACKAGE='pyqt=5' - PYTHON_VERSION=3.6 - RUN_PYINSTALLER=true install: # Setup X - | if [ $TRAVIS_OS_NAME = "linux" ]; then sudo apt-get update # Xvfb / window manager sudo apt-get install -y xvfb herbstluftwm elif [ $TRAVIS_OS_NAME = "osx" ]; then brew cask install xquartz fi # Setup miniconda - git clone --depth 1 git://github.com/astropy/ci-helpers.git - CONDA_DEPENDENCIES=$PYQT_PACKAGE source ci-helpers/travis/setup_conda.sh - source activate test && export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH - pip install . - rm -rf ci-helpers miniconda.sh before_script: - if [ $TRAVIS_OS_NAME = "linux" ]; then (herbstluftwm )& fi - if [ $TRAVIS_OS_NAME = "osx" ]; then (sudo Xvfb :99 -ac -screen 0 1024x768x8 )& fi - sleep 1 script: # Run flake8 - flake8 examples labelme setup.py tests # Run help2man - conda install -y help2man # Run pytest - pytest -v tests - labelme --help - labelme --version # Run examples - (cd examples/primitives && labelme_json_to_dataset primitives.json && rm -rf primitives_json) - (cd examples/tutorial && rm -rf apc2016_obj3_json && labelme_json_to_dataset apc2016_obj3.json && python load_label_png.py && git checkout -- .) - (cd examples/semantic_segmentation && rm -rf data_dataset_voc && ./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt && git checkout -- .) - (cd examples/instance_segmentation && rm -rf data_dataset_voc && ./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt && git checkout -- .) - (cd examples/video_annotation && rm -rf data_dataset_voc && ./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt && git checkout -- .) - pip install lxml # for bbox_detection/labelme2voc.py - (cd examples/bbox_detection && rm -rf data_dataset_voc && ./labelme2voc.py data_annotated data_dataset_voc --labels labels.txt && git checkout -- .) - pip install cython && pip install pycocotools # for instance_segmentation/labelme2coco.py - (cd examples/instance_segmentation && rm -rf data_dataset_coco && ./labelme2coco.py data_annotated data_dataset_coco --labels labels.txt && git checkout -- .) # Run pyinstaller - | if [ "$RUN_PYINSTALLER" = "true" ]; then # Cleanup pip uninstall -y $PIP_DEPENDENCIES # https://github.com/wkentaro/labelme/issues/183 if [ $TRAVIS_OS_NAME = "osx" ]; then pip uninstall -y Pillow conda install -y Pillow fi # Build the standalone executable pip install 'pyinstaller!=3.4' # 3.4 raises error # numpy 1.17 raises error # See https://github.com/wkentaro/labelme/issues/465 pip install 'numpy<1.17' pyinstaller labelme.spec dist/labelme --version fi after_script: - true # noop