.travis.yml 4.3 KB

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