Mini Shell
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
Zerion Mini Shell 1.0