From 1ed7487b8f48cd275482a1eebea7cfdc5a5e3e90 Mon Sep 17 00:00:00 2001 From: Paul Tremberth Date: Mon, 9 Jan 2017 16:35:40 +0100 Subject: [PATCH 1/5] Add PyPy3 build on Travis CI --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index d8c61e29..5ef37d34 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,12 +6,16 @@ matrix: include: - python: 2.7 env: TOXENV=py27 + - python: pypy + env: TOXENV=pypy - python: 3.4 env: TOXENV=py34 - python: 3.5 env: TOXENV=py35 - python: 3.6 env: TOXENV=py36 + - python: pypy3 + env: TOXENV=pypy3 # command to install dependencies install: From 7861f86c3df5681665d47182c99e639441217a4c Mon Sep 17 00:00:00 2001 From: Paul Tremberth Date: Mon, 9 Jan 2017 16:42:15 +0100 Subject: [PATCH 2/5] Use latest PyPy on Travis CI --- .travis.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.travis.yml b/.travis.yml index 5ef37d34..bf3a3d9e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,6 +19,20 @@ matrix: # command to install dependencies install: + - | + if [ "$TOXENV" = "pypy" ]; then + export PYENV_ROOT="$HOME/.pyenv" + if [ -f "$PYENV_ROOT/bin/pyenv" ]; then + pushd "$PYENV_ROOT" && git pull && popd + else + rm -rf "$PYENV_ROOT" && git clone --depth 1 https://github.com/yyuu/pyenv.git "$PYENV_ROOT" + fi + # get latest PyPy from pyenv directly (thanks to natural version sort option -V) + export PYPY_VERSION=`"$PYENV_ROOT/bin/pyenv" install --list |grep -o -E 'pypy-[0-9][\.0-9]*$' |sort -V |tail -1` + "$PYENV_ROOT/bin/pyenv" install --skip-existing "$PYPY_VERSION" + virtualenv --python="$PYENV_ROOT/versions/$PYPY_VERSION/bin/python" "$HOME/virtualenvs/$PYPY_VERSION" + source "$HOME/virtualenvs/$PYPY_VERSION/bin/activate" + fi - pip install -U tox codecov # command to run tests, e.g. python setup.py test From 819e9123243c83e8b4dc28f1e811a3a71170502e Mon Sep 17 00:00:00 2001 From: Paul Tremberth Date: Mon, 9 Jan 2017 16:46:32 +0100 Subject: [PATCH 3/5] Run PyPy3 build under Python 3.5 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index bf3a3d9e..157d84df 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,7 @@ matrix: env: TOXENV=py35 - python: 3.6 env: TOXENV=py36 - - python: pypy3 + - python: 3.5 env: TOXENV=pypy3 # command to install dependencies From 06db15920747c1fadf28d84bef9cd8c3e5373dc7 Mon Sep 17 00:00:00 2001 From: Paul Tremberth Date: Mon, 9 Jan 2017 16:56:09 +0100 Subject: [PATCH 4/5] Travis: install latest PyPy3 version --- .travis.yml | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 157d84df..69aba25b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,12 +8,12 @@ matrix: env: TOXENV=py27 - python: pypy env: TOXENV=pypy - - python: 3.4 - env: TOXENV=py34 - - python: 3.5 - env: TOXENV=py35 - - python: 3.6 - env: TOXENV=py36 + #- python: 3.4 + #env: TOXENV=py34 + #- python: 3.5 + #env: TOXENV=py35 + #- python: 3.6 + #env: TOXENV=py36 - python: 3.5 env: TOXENV=pypy3 @@ -33,6 +33,20 @@ install: virtualenv --python="$PYENV_ROOT/versions/$PYPY_VERSION/bin/python" "$HOME/virtualenvs/$PYPY_VERSION" source "$HOME/virtualenvs/$PYPY_VERSION/bin/activate" fi + - | + if [ "$TOXENV" = "pypy3" ]; then + export PYENV_ROOT="$HOME/.pyenv" + if [ -f "$PYENV_ROOT/bin/pyenv" ]; then + pushd "$PYENV_ROOT" && git pull && popd + else + rm -rf "$PYENV_ROOT" && git clone --depth 1 https://github.com/yyuu/pyenv.git "$PYENV_ROOT" + fi + # get latest PyPy3 from pyenv directly (thanks to natural version sort option -V) + export PYPY3_VERSION=`"$PYENV_ROOT/bin/pyenv" install --list |grep -o -E 'pypy3-[0-9][\.0-9]*$' |sort -V |tail -1` + "$PYENV_ROOT/bin/pyenv" install --skip-existing "$PYPY3_VERSION" + virtualenv --python="$PYENV_ROOT/versions/$PYPY3_VERSION/bin/python" "$HOME/virtualenvs/$PYPY3_VERSION" + source "$HOME/virtualenvs/$PYPY3_VERSION/bin/activate" + fi - pip install -U tox codecov # command to run tests, e.g. python setup.py test From b21b08b919f4aa0153885539abd1532327b0531d Mon Sep 17 00:00:00 2001 From: Paul Tremberth Date: Mon, 9 Jan 2017 17:07:13 +0100 Subject: [PATCH 5/5] Fix grep regex for pypy3 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 69aba25b..333a5579 100644 --- a/.travis.yml +++ b/.travis.yml @@ -42,7 +42,7 @@ install: rm -rf "$PYENV_ROOT" && git clone --depth 1 https://github.com/yyuu/pyenv.git "$PYENV_ROOT" fi # get latest PyPy3 from pyenv directly (thanks to natural version sort option -V) - export PYPY3_VERSION=`"$PYENV_ROOT/bin/pyenv" install --list |grep -o -E 'pypy3-[0-9][\.0-9]*$' |sort -V |tail -1` + export PYPY3_VERSION=`"$PYENV_ROOT/bin/pyenv" install --list |grep -o -E 'pypy3[\.0-9]*-[0-9][\.0-9]*(-alpha[0-9]*)?$' |sort -V |tail -1` "$PYENV_ROOT/bin/pyenv" install --skip-existing "$PYPY3_VERSION" virtualenv --python="$PYENV_ROOT/versions/$PYPY3_VERSION/bin/python" "$HOME/virtualenvs/$PYPY3_VERSION" source "$HOME/virtualenvs/$PYPY3_VERSION/bin/activate"