sudo: required dist: xenial language: python python: "3.7" jobs: include: - stage: code quality name: "mypy" before_install: - pip install mypy lxml - pip install -e . script: - mypy . --txt-report . --scripts-are-modules; cat index.txt; rm index.txt - &tests stage: test name: "Unit Tests w/ Python 3.7" before_install: - pip install pylint coverage - pip install -e . script: - HOME=/tmp coverage run --source=aioupnp -m unittest -v after_success: - bash <(curl -s https://codecov.io/bash) - <<: *tests name: "Unit Tests w/ Python 3.6" python: "3.6" - &build name: "Linux" python: "3.6" install: - pip install pyinstaller - pip install -e . script: - pyinstaller -F -n aioupnp aioupnp/__main__.py - chmod +x dist/aioupnp - zip -j dist/aioupnp-${OS}.zip dist/aioupnp env: OS=linux addons: artifacts: working_dir: dist paths: - aioupnp-${OS}.zip - <<: *build name: "Mac" os: osx osx_image: xcode9.4 language: generic env: OS=mac install: - pip3 install pyinstaller - pip3 install -e . - <<: *build name: "Windows" language: generic services: - docker install: - docker pull cdrx/pyinstaller-windows:python3-32bit script: - docker run -v "$(pwd):/src/aioupnp" cdrx/pyinstaller-windows:python3-32bit aioupnp/wine_build.sh - sudo zip -j dist/aioupnp-windows.zip dist/aioupnp.exe addons: artifacts: working_dir: dist paths: - aioupnp-windows.zip