Skip to content

Commit

Permalink
Switch to MB_PYTHON_VERSION
Browse files Browse the repository at this point in the history
MB_PYTHON_VERSION is the standard variable to set the Python version.
Switch to that.  Ensure it is always set for tests.
  • Loading branch information
matthew-brett committed Oct 30, 2019
1 parent 08a2aaa commit 836f3f7
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 47 deletions.
85 changes: 45 additions & 40 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ cache:
directories:
- $HOME/.ccache

env:
global:
# Always set Python version
- MB_PYTHON_VERSION=3.7

matrix:
include:
- os: linux
Expand Down Expand Up @@ -36,173 +41,173 @@ matrix:
# OSX builds
- os: osx
env:
- PYTHON_VERSION=2.7
- MB_PYTHON_VERSION=2.7
- TEST_BUILDS=1
- os: osx
env:
- PYTHON_VERSION=2.7
- MB_PYTHON_VERSION=2.7
- MB_PYTHON_OSX_VER=10.9
- TEST_BUILDS=1
- os: osx
language: objective-c
env:
- PYTHON_VERSION=2.7
- MB_PYTHON_VERSION=2.7
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=3.5
- MB_PYTHON_VERSION=3.5
- os: osx
env:
- PYTHON_VERSION=3.5
- MB_PYTHON_VERSION=3.5
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=3.6
- MB_PYTHON_VERSION=3.6
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=3.6
- MB_PYTHON_VERSION=3.6
- VENV=venv
- MB_PYTHON_OSX_VER=10.9
- os: osx
env:
- PYTHON_VERSION=3.7
- MB_PYTHON_VERSION=3.7
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=3.7
- MB_PYTHON_VERSION=3.7
- VENV=venv
- MB_PYTHON_OSX_VER=10.9
- os: osx
env:
- PYTHON_VERSION=3.7
- MB_PYTHON_VERSION=3.7
- VENV=venv
- USE_CCACHE=1
- os: osx
env:
- PYTHON_VERSION=3.8
- MB_PYTHON_VERSION=3.8
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=pypy-4.0
- MB_PYTHON_VERSION=pypy-4.0
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=pypy-5.0
- MB_PYTHON_VERSION=pypy-5.0
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=pypy-5.1
- MB_PYTHON_VERSION=pypy-5.1
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=pypy-5.3
- MB_PYTHON_VERSION=pypy-5.3
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=pypy-5.4
- MB_PYTHON_VERSION=pypy-5.4
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=pypy-5.6
- MB_PYTHON_VERSION=pypy-5.6
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=pypy-5.7
- MB_PYTHON_VERSION=pypy-5.7
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=pypy-5.8
- MB_PYTHON_VERSION=pypy-5.8
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=pypy-5.9
- MB_PYTHON_VERSION=pypy-5.9
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=pypy-6.0
- MB_PYTHON_VERSION=pypy-6.0
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=pypy-7.0
- MB_PYTHON_VERSION=pypy-7.0
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=pypy-7.1
- MB_PYTHON_VERSION=pypy-7.1
- VENV=venv
- os: osx
env:
- PYTHON_VERSION=pypy-7.2
- MB_PYTHON_VERSION=pypy-7.2
- VENV=venv
# Default OSX (xcode image) is 10.13 (xcode 9.4.1) as of 2018-08-03
# See: https://docs.travis-ci.com/user/reference/osx/
- os: osx
osx_image: xcode10.1
env:
- PYTHON_VERSION=3.7
- MB_PYTHON_VERSION=3.7
- TEST_BUILDS=1
- os: osx
osx_image: xcode10.1
env:
- PYTHON_VERSION=3.7
- MB_PYTHON_VERSION=3.7
- MB_PYTHON_OSX_VER=10.9
- TEST_BUILDS=1
- os: osx
osx_image: xcode10
env:
- PYTHON_VERSION=3.7
- MB_PYTHON_VERSION=3.7
- os: osx
osx_image: xcode10
env:
- PYTHON_VERSION=3.8
- MB_PYTHON_VERSION=3.8
- os: osx
osx_image: xcode10.1
env:
- PYTHON_VERSION=3.5
- MB_PYTHON_VERSION=3.5
- os: osx
osx_image: xcode10
env:
- PYTHON_VERSION=3.5
- MB_PYTHON_VERSION=3.5
- os: osx
osx_image: xcode9.4
env:
- PYTHON_VERSION=3.5
- MB_PYTHON_VERSION=3.5
- os: osx
osx_image: xcode9.3
env:
- PYTHON_VERSION=3.5
- MB_PYTHON_VERSION=3.5
- os: osx
osx_image: xcode9.2
env:
- PYTHON_VERSION=3.5
- MB_PYTHON_VERSION=3.5
- os: osx
osx_image: xcode9.1
env:
- PYTHON_VERSION=3.5
- MB_PYTHON_VERSION=3.5
- os: osx
osx_image: xcode9
env:
- PYTHON_VERSION=3.5
- MB_PYTHON_VERSION=3.5
- os: osx
osx_image: xcode8.3
env:
- PYTHON_VERSION=3.5
- MB_PYTHON_VERSION=3.5
- os: osx
osx_image: xcode8.2
env:
- PYTHON_VERSION=3.5
- MB_PYTHON_VERSION=3.5
- os: osx
osx_image: xcode8.1
env:
- PYTHON_VERSION=3.5
- MB_PYTHON_VERSION=3.5
- os: osx
osx_image: xcode8
env:
- PYTHON_VERSION=3.5
- MB_PYTHON_VERSION=3.5
- os: osx
osx_image: xcode7.3
env:
- PYTHON_VERSION=3.5
- MB_PYTHON_VERSION=3.5

script:
- export ENV_VARS_PATH="tests/env_vars.sh"
Expand Down
6 changes: 4 additions & 2 deletions tests/test_multibuild.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,15 @@ source tests/utils.sh

source tests/test_common_utils.sh
source tests/test_fill_submodule.sh

if [ -n "$IS_OSX" ]; then
source osx_utils.sh

# To work round:
# https://travis-ci.community/t/syntax-error-unexpected-keyword-rescue-expecting-keyword-end-in-homebrew/5623
brew update

get_macpython_environment $PYTHON_VERSION ${VENV:-""} $MB_PYTHON_OSX_VER
get_macpython_environment $MB_PYTHON_VERSION ${VENV:-""} $MB_PYTHON_OSX_VER
source tests/test_python_install.sh
source tests/test_fill_pyver.sh
source tests/test_fill_pypy_ver.sh
Expand All @@ -24,11 +25,12 @@ else
fi
if [ -n "$TEST_BUILDS" ]; then
if [ -n "$IS_OSX" ]; then
MB_PYTHON_VERSION=${MB_PYTHON_VERSION:-$PYTHON_VERSION}
source tests/test_library_builders.sh
elif [ ! -x "$(command -v docker)" ]; then
echo "Skipping build tests; no docker available"
else
# Docker builds use PYTHON_VERSION
export PYTHON_VERSION=${MB_PYTHON_VERSION}
touch config.sh
source travis_linux_steps.sh
my_plat=${PLAT:-x86_64}
Expand Down
8 changes: 4 additions & 4 deletions tests/test_python_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ fi
python_mm="${cpython_version:0:1}.${cpython_version:2:1}"

# extract implementation prefix and version
if [[ "$PYTHON_VERSION" =~ (pypy-)?([0-9\.]+) ]]; then
if [[ "$MB_PYTHON_VERSION" =~ (pypy-)?([0-9\.]+) ]]; then
_impl=${BASH_REMATCH[1]:-"cp"}
requested_impl=${_impl:0:2}
requested_version=${BASH_REMATCH[2]}
else
ingest "Error parsing PYTHON_VERSION=$PYTHON_VERSION"
ingest "Error parsing MB_PYTHON_VERSION=$MB_PYTHON_VERSION"
fi

# simple regex match, a 2.7 pattern will match 2.7.11, but not 2
Expand Down Expand Up @@ -63,10 +63,10 @@ fi

# check macOS version and arch are as expected
distutils_plat=$($PYTHON_EXE -c "import distutils.util; print(distutils.util.get_platform())")
expected_arch=$(macpython_arch_for_version $PYTHON_VERSION)
expected_arch=$(macpython_arch_for_version $MB_PYTHON_VERSION)
if [[ $requested_impl == 'cp' ]]; then
expected_tag="macosx-$MB_PYTHON_OSX_VER-$expected_arch"
else
expected_tag="macosx-10.[0-9]+-$expected_arch"
fi
[[ $distutils_plat =~ $expected_tag ]] || ingest
[[ $distutils_plat =~ $expected_tag ]] || ingest
2 changes: 1 addition & 1 deletion tests/test_supported_wheels.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ else
pip_install="$PIP_CMD install"
fi
# Current wheel versions not available for older Pythons
lpv=$(lex_ver $PYTHON_VERSION)
lpv=$(lex_ver $MB_PYTHON_VERSION)
if [ $lpv -ge $(lex_ver 3.5) ] || [ $lpv -lt $(lex_ver 3) ]; then
for whl in wheel==0.31.1 wheel==0.32.0 wheel; do
$pip_install -U $whl
Expand Down

0 comments on commit 836f3f7

Please sign in to comment.