forked from ipython/ipython
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
134 lines (122 loc) · 3.74 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# http://travis-ci.org/#!/ipython/ipython
language: python
os: linux
addons:
apt:
packages:
- graphviz
python:
- 3.6
env:
global:
- PATH=$TRAVIS_BUILD_DIR/pandoc:$PATH
group: edge
before_install:
- |
# install Python on macOS
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
env | sort
if ! which python$TRAVIS_PYTHON_VERSION; then
HOMEBREW_NO_AUTO_UPDATE=1 brew tap minrk/homebrew-python-frameworks
HOMEBREW_NO_AUTO_UPDATE=1 brew cask install python-framework-${TRAVIS_PYTHON_VERSION/./}
fi
python3 -m pip install virtualenv
python3 -m virtualenv -p $(which python$TRAVIS_PYTHON_VERSION) ~/travis-env
source ~/travis-env/bin/activate
fi
- python --version
install:
- pip install pip --upgrade
- pip install setuptools --upgrade
- if [[ "$TRAVIS_PYTHON_VERSION" == "3.6" ]]; then
echo "for the time being still test on 3.6";
sed -ibkp s/7/6/g setup.py;
git diff;
fi
- pip install -e file://$PWD#egg=ipython[test] --upgrade
- pip install trio curio --upgrade --upgrade-strategy eager
- pip install 'pytest<6' 'matplotlib !=3.2.0' mypy
- pip install codecov check-manifest --upgrade
- pip install mypy darker
- |
if [[ "$MASTER_DEPENDENCIES" == "True" ]]; then
pip install git+https://github.com/ipython/traitlets#egg=traitlets --force
fi
script:
- check-manifest
- |
if [[ "$TRAVIS_PYTHON_VERSION" == "nightly" ]]; then
# on nightly fake parso known the grammar
cp /home/travis/virtualenv/python3.9-dev/lib/python3.9/site-packages/parso/python/grammar38.txt /home/travis/virtualenv/python3.9-dev/lib/python3.9/site-packages/parso/python/grammar39.txt
fi
- |
# check style on changes
# run `darker -r master` and commit changes to fix
if [[ "${TRAVIS_PULL_REQUEST:-false}" != "false" ]] \
&& [[ "$TRAVIS_PYTHON_VERSION" == "3.8" ]] \
&& [[ "$TRAVIS_OS_NAME" == "linux" ]];
then
darker -r ${TRAVIS_COMMIT_RANGE%%.*} --check --diff . || (
echo "Changes need auto-formatting. Run:"
echo " darker -r ${TRAVIS_COMMIT_RANGE%%.*}"
echo "then commit and push changes to fix."
exit 1
)
fi
- cd /tmp && iptest --coverage xml && cd -
- pytest IPython
- mypy IPython/terminal/ptutils.py
- mypy IPython/core/c*.py
# On the latest Python (on Linux) only, make sure that the docs build.
- |
if [[ "$TRAVIS_PYTHON_VERSION" == "3.7" ]] && [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
pip install -r docs/requirements.txt
python tools/fixup_whats_new_pr.py
make -C docs/ html SPHINXOPTS="-W"
fi
after_success:
- cp /tmp/ipy_coverage.xml ./
- cp /tmp/.coverage ./
- codecov
matrix:
include:
- arch: amd64
python: "3.6"
dist: xenial
- arch: amd64
python: "3.7"
dist: xenial
- arch: amd64
python: "3.8"
dist: xenial
- arch: amd64
python: "nightly"
dist: xenial
- arch: amd64
python: "3.9-dev"
- os: osx
language: generic
python: 3.7
env: TRAVIS_PYTHON_VERSION=3.7
- arch: amd64
python: "3.8"
env: MASTER_DEPENDENCIES=True
allow_failures:
- python: nightly
before_deploy:
- rm -rf dist/
- python setup.py sdist
- python setup.py bdist_wheel
deploy:
provider: releases
api_key:
secure: Y/Ae9tYs5aoBU8bDjN2YrwGG6tCbezj/h3Lcmtx8HQavSbBgXnhnZVRb2snOKD7auqnqjfT/7QMm4ZyKvaOEgyggGktKqEKYHC8KOZ7yp8I5/UMDtk6j9TnXpSqqBxPiud4MDV76SfRYEQiaDoG4tGGvSfPJ9KcNjKrNvSyyxns=
file: dist/*
file_glob: true
cleanup: false
on:
repo: ipython/ipython
all_branches: true # Backports are released from e.g. 5.x branch
tags: true
python: 3.6 # Any version should work, but we only need one
condition: $TRAVIS_OS_NAME = "linux"