.travis.yml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. language: generic
  2. cache:
  3. - pip
  4. sudo: required
  5. dist: trusty
  6. branches:
  7. only:
  8. - master
  9. notifications:
  10. email: false
  11. env:
  12. global:
  13. # used by ci-helpers
  14. - SETUP_XVFB=true
  15. - PIP_DEPENDENCIES='hacking pytest pytest-qt'
  16. # See https://github.com/brainiak/brainiak/issues/377
  17. - KMP_DUPLICATE_LIB_OK=TRUE
  18. - MPLBACKEND=TkAgg # for osx
  19. matrix:
  20. include:
  21. - os: osx
  22. env:
  23. - PYTEST_QT_API=pyqt5
  24. - PYQT_PACKAGE='pyqt=5.6'
  25. - PYTHON_VERSION=3.6
  26. - RUN_PYINSTALLER=true
  27. - os: linux
  28. dist: trusty
  29. env:
  30. - PYTEST_QT_API=pyqt4v2
  31. - PYQT_PACKAGE='pyqt=4'
  32. - PYTHON_VERSION=2.7
  33. - os: linux
  34. dist: trusty
  35. env:
  36. - PYTEST_QT_API=pyside2
  37. - CONDA_CHANNELS='conda-forge'
  38. - PYQT_PACKAGE='pyside2'
  39. - PYTHON_VERSION=2.7
  40. - os: linux
  41. dist: trusty
  42. env:
  43. - PYTEST_QT_API=pyside2
  44. - CONDA_CHANNELS='conda-forge'
  45. - PYQT_PACKAGE='pyside2'
  46. - PYTHON_VERSION=3.6
  47. - os: linux
  48. dist: trusty
  49. env:
  50. - PYTEST_QT_API=pyqt5
  51. - PYQT_PACKAGE='pyqt=5'
  52. - PYTHON_VERSION=2.7
  53. - os: linux
  54. dist: trusty
  55. env:
  56. - PYTEST_QT_API=pyqt5
  57. - PYQT_PACKAGE='pyqt=5'
  58. - PYTHON_VERSION=3.6
  59. - RUN_PYINSTALLER=true
  60. install:
  61. - |
  62. if [ $TRAVIS_OS_NAME = "linux" ]; then
  63. sudo apt-get update
  64. # Xvfb / window manager
  65. sudo apt-get install -y xvfb herbstluftwm
  66. elif [ $TRAVIS_OS_NAME = "osx" ]; then
  67. brew cask install xquartz
  68. fi
  69. # Setup miniconda
  70. - git clone --depth 1 git://github.com/astropy/ci-helpers.git
  71. - CONDA_DEPENDENCIES=$PYQT_PACKAGE source ci-helpers/travis/setup_conda.sh
  72. - source activate test && export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH
  73. - pip install .
  74. before_script:
  75. - if [ $TRAVIS_OS_NAME = "linux" ]; then (herbstluftwm )& fi
  76. - if [ $TRAVIS_OS_NAME = "osx" ]; then (sudo Xvfb :99 -ac -screen 0 1024x768x8 )& fi
  77. - sleep 1
  78. script:
  79. - flake8 examples labelme setup.py tests
  80. - pytest -v tests
  81. - labelme --help
  82. - labelme --version
  83. - (cd examples/primitives && labelme_json_to_dataset primitives.json && rm -rf primitives_json)
  84. - (cd examples/tutorial && rm -rf apc2016_obj3_json && labelme_json_to_dataset apc2016_obj3.json && python load_label_png.py && git checkout -- .)
  85. - (cd examples/bbox_detection && rm -rf data_dataset_voc && ./labelme2voc.py labels.txt data_annotated data_dataset_voc && git checkout -- .)
  86. - (cd examples/semantic_segmentation && rm -rf data_dataset_voc && ./labelme2voc.py labels.txt data_annotated data_dataset_voc && git checkout -- .)
  87. - (cd examples/instance_segmentation && rm -rf data_dataset_voc && ./labelme2voc.py labels.txt data_annotated data_dataset_voc && git checkout -- .)
  88. - (cd examples/video_annotation && rm -rf data_dataset_voc && ./labelme2voc.py labels.txt data_annotated data_dataset_voc && git checkout -- .)
  89. after_script:
  90. - |
  91. if [ "$RUN_PYINSTALLER" = "true" ]; then
  92. # Cleanup
  93. pip uninstall -y $PIP_DEPENDENCIES
  94. # https://github.com/wkentaro/labelme/issues/183
  95. if [ $TRAVIS_OS_NAME = "osx" ]; then
  96. pip uninstall -y Pillow
  97. conda install -y Pillow
  98. fi
  99. # Build the standalone executable
  100. pip install pyinstaller
  101. pyinstaller labelme.spec
  102. dist/labelme --version
  103. # Create ZIP files for release
  104. cd dist
  105. zip labelme-$(uname).zip labelme
  106. if [ "$TRAVIS_OS_NAME" = "osx" ]; then
  107. zip -r labelme.app-$(uname).zip labelme.app
  108. fi
  109. cd -
  110. fi
  111. before_deploy:
  112. - git config --local user.name 'Kentaro Wada'
  113. - git config --local user.email 'www.kentaro.wada@gmail.com'
  114. deploy:
  115. provider: releases
  116. api_key:
  117. secure: S42xawauDsZqLpdRy5d3nAo5Enh6tcJR6IAKwRp4T5+P/ZgXmoSJ81HQrmiUXLJTdvMMjRRr2H/2GuX+WoNHiFLlGY43bWu8GkK1qRslJxC+Fh8+VdIrhVcOFf7xhvhuV26KZxu4uh2lp95p10Crpj4Y3GkxguHjbF+F9c0vEVlEmmgyVsj6c2tFzIXVa4LPuFFDf9yWPl5Sp1n60Y8fDaEOoVbK63vh8pngFE8t2anQl5oNOcLf29t8IciPyo70p1p0UdKZ5a6YsPgu+/x2rPG1uroUksD9s9kY33vL/2D77frGv1eZFNk7TH31LV1TlG3JWklC8tqVG7Qklm4+Hnk+OEo/1uyWeDLJX8IOwy25hbg5VMFkQTZYWhCYg3IihdHbRJL4FAyTasYbEUrkmxniRnLCD8EL6gFHV1zZuv7ACCcdJHZz70sp/eiKZ5TwGRM+qnSNjd9Y4IyRv25vRsZo/8EPKShcKD1ik5OQNc2hw3uM6KLnV6lRCmZ1WSVz08bkLn5X+lzAyw1Bop2ZNdlS9N8qSfRMn2f30ORCVmNP/EKFFIDbt4wkd1XkAG/bF4LFD9VeSTp6RXcie/C/SfwBjgn0hqhdQ/n6Ptcba77OXWnKAc35GkWPs3+axBrYMZno68ne8DlcWIdT2RAeuMVzQMHT52ddvx3oQ6cUXs4=
  118. file: dist/*.zip
  119. on:
  120. tags: true
  121. repo: wkentaro/labelme