Commit 836f3f71 authored by Matthew Brett's avatar Matthew Brett
Browse files

Switch to MB_PYTHON_VERSION

MB_PYTHON_VERSION is the standard variable to set the Python version.
Switch to that.  Ensure it is always set for tests.
parent 08a2aaa7
...@@ -6,6 +6,11 @@ cache: ...@@ -6,6 +6,11 @@ cache:
directories: directories:
- $HOME/.ccache - $HOME/.ccache
env:
global:
# Always set Python version
- MB_PYTHON_VERSION=3.7
matrix: matrix:
include: include:
- os: linux - os: linux
...@@ -36,173 +41,173 @@ matrix: ...@@ -36,173 +41,173 @@ matrix:
# OSX builds # OSX builds
- os: osx - os: osx
env: env:
- PYTHON_VERSION=2.7 - MB_PYTHON_VERSION=2.7
- TEST_BUILDS=1 - TEST_BUILDS=1
- os: osx - os: osx
env: env:
- PYTHON_VERSION=2.7 - MB_PYTHON_VERSION=2.7
- MB_PYTHON_OSX_VER=10.9 - MB_PYTHON_OSX_VER=10.9
- TEST_BUILDS=1 - TEST_BUILDS=1
- os: osx - os: osx
language: objective-c language: objective-c
env: env:
- PYTHON_VERSION=2.7 - MB_PYTHON_VERSION=2.7
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=3.5 - MB_PYTHON_VERSION=3.5
- os: osx - os: osx
env: env:
- PYTHON_VERSION=3.5 - MB_PYTHON_VERSION=3.5
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=3.6 - MB_PYTHON_VERSION=3.6
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=3.6 - MB_PYTHON_VERSION=3.6
- VENV=venv - VENV=venv
- MB_PYTHON_OSX_VER=10.9 - MB_PYTHON_OSX_VER=10.9
- os: osx - os: osx
env: env:
- PYTHON_VERSION=3.7 - MB_PYTHON_VERSION=3.7
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=3.7 - MB_PYTHON_VERSION=3.7
- VENV=venv - VENV=venv
- MB_PYTHON_OSX_VER=10.9 - MB_PYTHON_OSX_VER=10.9
- os: osx - os: osx
env: env:
- PYTHON_VERSION=3.7 - MB_PYTHON_VERSION=3.7
- VENV=venv - VENV=venv
- USE_CCACHE=1 - USE_CCACHE=1
- os: osx - os: osx
env: env:
- PYTHON_VERSION=3.8 - MB_PYTHON_VERSION=3.8
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=pypy-4.0 - MB_PYTHON_VERSION=pypy-4.0
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=pypy-5.0 - MB_PYTHON_VERSION=pypy-5.0
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=pypy-5.1 - MB_PYTHON_VERSION=pypy-5.1
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=pypy-5.3 - MB_PYTHON_VERSION=pypy-5.3
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=pypy-5.4 - MB_PYTHON_VERSION=pypy-5.4
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=pypy-5.6 - MB_PYTHON_VERSION=pypy-5.6
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=pypy-5.7 - MB_PYTHON_VERSION=pypy-5.7
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=pypy-5.8 - MB_PYTHON_VERSION=pypy-5.8
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=pypy-5.9 - MB_PYTHON_VERSION=pypy-5.9
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=pypy-6.0 - MB_PYTHON_VERSION=pypy-6.0
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=pypy-7.0 - MB_PYTHON_VERSION=pypy-7.0
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=pypy-7.1 - MB_PYTHON_VERSION=pypy-7.1
- VENV=venv - VENV=venv
- os: osx - os: osx
env: env:
- PYTHON_VERSION=pypy-7.2 - MB_PYTHON_VERSION=pypy-7.2
- VENV=venv - VENV=venv
# Default OSX (xcode image) is 10.13 (xcode 9.4.1) as of 2018-08-03 # 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/ # See: https://docs.travis-ci.com/user/reference/osx/
- os: osx - os: osx
osx_image: xcode10.1 osx_image: xcode10.1
env: env:
- PYTHON_VERSION=3.7 - MB_PYTHON_VERSION=3.7
- TEST_BUILDS=1 - TEST_BUILDS=1
- os: osx - os: osx
osx_image: xcode10.1 osx_image: xcode10.1
env: env:
- PYTHON_VERSION=3.7 - MB_PYTHON_VERSION=3.7
- MB_PYTHON_OSX_VER=10.9 - MB_PYTHON_OSX_VER=10.9
- TEST_BUILDS=1 - TEST_BUILDS=1
- os: osx - os: osx
osx_image: xcode10 osx_image: xcode10
env: env:
- PYTHON_VERSION=3.7 - MB_PYTHON_VERSION=3.7
- os: osx - os: osx
osx_image: xcode10 osx_image: xcode10
env: env:
- PYTHON_VERSION=3.8 - MB_PYTHON_VERSION=3.8
- os: osx - os: osx
osx_image: xcode10.1 osx_image: xcode10.1
env: env:
- PYTHON_VERSION=3.5 - MB_PYTHON_VERSION=3.5
- os: osx - os: osx
osx_image: xcode10 osx_image: xcode10
env: env:
- PYTHON_VERSION=3.5 - MB_PYTHON_VERSION=3.5
- os: osx - os: osx
osx_image: xcode9.4 osx_image: xcode9.4
env: env:
- PYTHON_VERSION=3.5 - MB_PYTHON_VERSION=3.5
- os: osx - os: osx
osx_image: xcode9.3 osx_image: xcode9.3
env: env:
- PYTHON_VERSION=3.5 - MB_PYTHON_VERSION=3.5
- os: osx - os: osx
osx_image: xcode9.2 osx_image: xcode9.2
env: env:
- PYTHON_VERSION=3.5 - MB_PYTHON_VERSION=3.5
- os: osx - os: osx
osx_image: xcode9.1 osx_image: xcode9.1
env: env:
- PYTHON_VERSION=3.5 - MB_PYTHON_VERSION=3.5
- os: osx - os: osx
osx_image: xcode9 osx_image: xcode9
env: env:
- PYTHON_VERSION=3.5 - MB_PYTHON_VERSION=3.5
- os: osx - os: osx
osx_image: xcode8.3 osx_image: xcode8.3
env: env:
- PYTHON_VERSION=3.5 - MB_PYTHON_VERSION=3.5
- os: osx - os: osx
osx_image: xcode8.2 osx_image: xcode8.2
env: env:
- PYTHON_VERSION=3.5 - MB_PYTHON_VERSION=3.5
- os: osx - os: osx
osx_image: xcode8.1 osx_image: xcode8.1
env: env:
- PYTHON_VERSION=3.5 - MB_PYTHON_VERSION=3.5
- os: osx - os: osx
osx_image: xcode8 osx_image: xcode8
env: env:
- PYTHON_VERSION=3.5 - MB_PYTHON_VERSION=3.5
- os: osx - os: osx
osx_image: xcode7.3 osx_image: xcode7.3
env: env:
- PYTHON_VERSION=3.5 - MB_PYTHON_VERSION=3.5
script: script:
- export ENV_VARS_PATH="tests/env_vars.sh" - export ENV_VARS_PATH="tests/env_vars.sh"
......
...@@ -6,6 +6,7 @@ source tests/utils.sh ...@@ -6,6 +6,7 @@ source tests/utils.sh
source tests/test_common_utils.sh source tests/test_common_utils.sh
source tests/test_fill_submodule.sh source tests/test_fill_submodule.sh
if [ -n "$IS_OSX" ]; then if [ -n "$IS_OSX" ]; then
source osx_utils.sh source osx_utils.sh
...@@ -13,7 +14,7 @@ if [ -n "$IS_OSX" ]; then ...@@ -13,7 +14,7 @@ if [ -n "$IS_OSX" ]; then
# https://travis-ci.community/t/syntax-error-unexpected-keyword-rescue-expecting-keyword-end-in-homebrew/5623 # https://travis-ci.community/t/syntax-error-unexpected-keyword-rescue-expecting-keyword-end-in-homebrew/5623
brew update 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_python_install.sh
source tests/test_fill_pyver.sh source tests/test_fill_pyver.sh
source tests/test_fill_pypy_ver.sh source tests/test_fill_pypy_ver.sh
...@@ -24,11 +25,12 @@ else ...@@ -24,11 +25,12 @@ else
fi fi
if [ -n "$TEST_BUILDS" ]; then if [ -n "$TEST_BUILDS" ]; then
if [ -n "$IS_OSX" ]; then if [ -n "$IS_OSX" ]; then
MB_PYTHON_VERSION=${MB_PYTHON_VERSION:-$PYTHON_VERSION}
source tests/test_library_builders.sh source tests/test_library_builders.sh
elif [ ! -x "$(command -v docker)" ]; then elif [ ! -x "$(command -v docker)" ]; then
echo "Skipping build tests; no docker available" echo "Skipping build tests; no docker available"
else else
# Docker builds use PYTHON_VERSION
export PYTHON_VERSION=${MB_PYTHON_VERSION}
touch config.sh touch config.sh
source travis_linux_steps.sh source travis_linux_steps.sh
my_plat=${PLAT:-x86_64} my_plat=${PLAT:-x86_64}
......
...@@ -23,12 +23,12 @@ fi ...@@ -23,12 +23,12 @@ fi
python_mm="${cpython_version:0:1}.${cpython_version:2:1}" python_mm="${cpython_version:0:1}.${cpython_version:2:1}"
# extract implementation prefix and version # 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"} _impl=${BASH_REMATCH[1]:-"cp"}
requested_impl=${_impl:0:2} requested_impl=${_impl:0:2}
requested_version=${BASH_REMATCH[2]} requested_version=${BASH_REMATCH[2]}
else else
ingest "Error parsing PYTHON_VERSION=$PYTHON_VERSION" ingest "Error parsing MB_PYTHON_VERSION=$MB_PYTHON_VERSION"
fi fi
# simple regex match, a 2.7 pattern will match 2.7.11, but not 2 # simple regex match, a 2.7 pattern will match 2.7.11, but not 2
...@@ -63,7 +63,7 @@ fi ...@@ -63,7 +63,7 @@ fi
# check macOS version and arch are as expected # check macOS version and arch are as expected
distutils_plat=$($PYTHON_EXE -c "import distutils.util; print(distutils.util.get_platform())") 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 if [[ $requested_impl == 'cp' ]]; then
expected_tag="macosx-$MB_PYTHON_OSX_VER-$expected_arch" expected_tag="macosx-$MB_PYTHON_OSX_VER-$expected_arch"
else else
......
...@@ -6,7 +6,7 @@ else ...@@ -6,7 +6,7 @@ else
pip_install="$PIP_CMD install" pip_install="$PIP_CMD install"
fi fi
# Current wheel versions not available for older Pythons # 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 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 for whl in wheel==0.31.1 wheel==0.32.0 wheel; do
$pip_install -U $whl $pip_install -U $whl
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment