From c169c883d359026a970b71262dd941c72a344ac0 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Sat, 12 Nov 2016 11:50:22 -0200 Subject: [PATCH 1/2] Use one job for each tox env on AppVeyor Some time ago when we first added support for testing pytest on AppVeyor, jobs in a build would not start immediately one after the other, as if AppVeyor would schedule jobs from other builds (projects) in its VMs. So it made sense at the time to reduce the number of jobs. I have noticed in other projects that this behavior has changed, and jobs in a build now start one after the other. Having a separate list then improves visibility when the build fails, because we can see at a glance the failing(s) tox environment(s). --- appveyor.yml | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 64c9d60182c..b761e035259 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -6,17 +6,23 @@ environment: # https://www.appveyor.com/docs/build-configuration#secure-variables matrix: - # create multiple jobs to execute a set of tox runs on each; this is to workaround having - # builds timing out in AppVeyor - - TOXENV: "linting,py26,py27,py33,py34,py35" - - TOXENV: "py27-pexpect,py27-xdist,py27-trial,py35-pexpect,py35-xdist,py35-trial" - - TOXENV: "py27-nobyte,doctesting,freeze,docs" + - TOXENV: "linting" + - TOXENV: "py26" + - TOXENV: "py27" + - TOXENV: "py33" + - TOXENV: "py34" + - TOXENV: "py35" - TOXENV: "pypy" - -matrix: - allow_failures: - # pypy is disabled until #1963 gets fixed - - TOXENV: "pypy" + - TOXENV: "py27-pexpect" + - TOXENV: "py27-xdist" + - TOXENV: "py27-trial" + - TOXENV: "py35-pexpect" + - TOXENV: "py35-xdist" + - TOXENV: "py35-trial" + - TOXENV: "py27-nobyte" + - TOXENV: "doctesting" + - TOXENV: "freeze" + - TOXENV: "docs" install: - echo Installed Pythons From ec69514eb2be687f751e3a7a18d96e3e29d44c16 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Sat, 12 Nov 2016 12:29:40 -0200 Subject: [PATCH 2/2] Only install pypy on AppVeyor for "pypy" tox-env --- MANIFEST.in | 1 + appveyor.yml | 10 ++-------- scripts/install-pypy.bat | 6 ++++++ 3 files changed, 9 insertions(+), 8 deletions(-) create mode 100644 scripts/install-pypy.bat diff --git a/MANIFEST.in b/MANIFEST.in index 24b4cfc9be6..c57cbd9117c 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -10,6 +10,7 @@ include tox.ini include setup.py recursive-include scripts *.py +recursive-include scripts *.bat include .coveragerc diff --git a/appveyor.yml b/appveyor.yml index b761e035259..7192ec06fb6 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -6,6 +6,7 @@ environment: # https://www.appveyor.com/docs/build-configuration#secure-variables matrix: + # note: please use "tox --listenvs" to populate the build matrix below - TOXENV: "linting" - TOXENV: "py26" - TOXENV: "py27" @@ -28,14 +29,7 @@ install: - echo Installed Pythons - dir c:\Python* - # install pypy using choco (redirect to a file and write to console in case - # choco install returns non-zero, because choco install python.pypy is too - # noisy) - # pypy is disabled until #1963 gets fixed - - choco install python.pypy > pypy-inst.log 2>&1 || (type pypy-inst.log & exit /b 1) - - set PATH=C:\tools\pypy\pypy;%PATH% # so tox can find pypy - - echo PyPy installed - - pypy --version + - if "%TOXENV%" == "pypy" scripts\install-pypy.bat - C:\Python35\python -m pip install tox diff --git a/scripts/install-pypy.bat b/scripts/install-pypy.bat new file mode 100644 index 00000000000..8012ea46aca --- /dev/null +++ b/scripts/install-pypy.bat @@ -0,0 +1,6 @@ +REM install pypy using choco +REM redirect to a file because choco install python.pypy is too noisy. If the command fails, write output to console +choco install python.pypy > pypy-inst.log 2>&1 || (type pypy-inst.log & exit /b 1) +set PATH=C:\tools\pypy\pypy;%PATH% # so tox can find pypy +echo PyPy installed +pypy --version