77 lines
1.6 KiB
YAML
77 lines
1.6 KiB
YAML
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
|