123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- dist: xenial
- language: python
- cache: pip
- addons:
- homebrew:
- update: true
- packages:
- - npm
- - pyenv
- jobs:
- include:
- - name: "Python 2.7 on Linux"
- env: NODE_GYP_FORCE_PYTHON=python2
- python: 2.7
- - name: "Node.js 6 & Python 3.8 on Linux"
- python: 3.8
- env: NODE_GYP_FORCE_PYTHON=python3
- before_install: nvm install 6
- - name: "Node.js 8 & Python 3.8 on Linux"
- python: 3.8
- env: NODE_GYP_FORCE_PYTHON=python3
- before_install: nvm install 8
- - name: "Node.js 10 & Python 3.8 on Linux"
- python: 3.8
- env: NODE_GYP_FORCE_PYTHON=python3
- before_install: nvm install 10
- - name: "Node.js 12 & Python 3.5 on Linux"
- python: 3.5
- env: NODE_GYP_FORCE_PYTHON=python3
- before_install: nvm install 12
- - name: "Node.js 12 & Python 3.6 on Linux"
- python: 3.6
- env: NODE_GYP_FORCE_PYTHON=python3
- before_install: nvm install 12
- - name: "Node.js 12 & Python 3.7 on Linux"
- python: 3.7
- env: NODE_GYP_FORCE_PYTHON=python3
- before_install: nvm install 12
- - name: "Node.js 12 & Python 3.8 on Linux"
- python: 3.8
- env: NODE_GYP_FORCE_PYTHON=python3
- before_install: nvm install 12
- - name: "Python 2.7 on macOS"
- os: osx
- osx_image: xcode11.2
- language: shell # 'language: python' is not yet supported on macOS
- env: NODE_GYP_FORCE_PYTHON=python2 PATH=$HOME/.pyenv/shims:$PATH PYENV_VERSION=2.7.17
- before_install: pyenv install $PYENV_VERSION
- - name: "Python 3.8 on macOS"
- os: osx
- osx_image: xcode11.2
- language: shell # 'language: python' is not yet supported on macOS
- env: NODE_GYP_FORCE_PYTHON=python3 PATH=$HOME/.pyenv/shims:$PATH PYENV_VERSION=3.8.0
- before_install: pyenv install $PYENV_VERSION
- - name: "Node.js 6 & Python 2.7 on Windows"
- os: windows
- language: node_js
- node_js: 6 # node
- env: >-
- PATH=/c/Python27:/c/Python27/Scripts:$PATH
- NODE_GYP_FORCE_PYTHON=/c/Python27/python.exe
- before_install: choco install python2
- - name: "Node.js 12 & Python 2.7 on Windows"
- os: windows
- language: node_js
- node_js: 12 # node
- env: >-
- PATH=/c/Python27:/c/Python27/Scripts:$PATH
- NODE_GYP_FORCE_PYTHON=/c/Python27/python.exe
- before_install: choco install python2
- - name: "Node.js 12 & Python 3.7 on Windows"
- os: windows
- language: node_js
- node_js: 12 # node
- env: >-
- PATH=/c/Python37:/c/Python37/Scripts:$PATH
- NODE_GYP_FORCE_PYTHON=/c/Python37/python.exe
- before_install: choco install python --version=3.7.4
- - name: "Node.js 12 & Python 3.8 on Windows"
- os: windows
- language: node_js
- node_js: 12 # node
- env: >-
- PATH=/c/Python38:/c/Python38/Scripts:$PATH
- NODE_GYP_FORCE_PYTHON=/c/Python38/python.exe
- before_install: choco install python
- install:
- - python -m pip install --upgrade flake8 pytest==4.6.6 # pytest 5 no longer supports legacy Python
- before_script:
- - python -m flake8 --version
- # stop the build if there are Python syntax errors or undefined names
- - python -m flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
- # exit-zero treats all errors as warnings. Two space indentation is OK. The GitHub editor is 127 chars wide
- - python -m flake8 . --count --exit-zero --ignore=E111,E114,W503 --max-complexity=10 --max-line-length=127 --statistics
- - npm install
- - npm list
- script:
- - node -e 'require("npmlog").level="verbose"; require("./lib/find-python")(null,()=>{})'
- - npm test
- - GYP_MSVS_VERSION=2015 GYP_MSVS_OVERRIDE_PATH="C:\\Dummy" python -m pytest
- notifications:
- on_success: change
- on_failure: change # `always` will be the setting once code changes slow down
|