summaryrefslogtreecommitdiffstats
path: root/.appveyor.yml
diff options
context:
space:
mode:
authorDaniel Moody <dmoody256@gmail.com>2017-12-22 08:28:27 (GMT)
committerDaniel Moody <dmoody256@gmail.com>2017-12-22 08:28:27 (GMT)
commit4e8a7b5b1733a8cb6e8aa197c8c90a6434f7a066 (patch)
tree1802e01d3b676a3b045ce85ae6012f15452de058 /.appveyor.yml
parent843c4b571fdcc5da92987d867d25e207f985957f (diff)
downloadSCons-4e8a7b5b1733a8cb6e8aa197c8c90a6434f7a066.zip
SCons-4e8a7b5b1733a8cb6e8aa197c8c90a6434f7a066.tar.gz
SCons-4e8a7b5b1733a8cb6e8aa197c8c90a6434f7a066.tar.bz2
split the tests in multiple jobs for multiple python environments.
Diffstat (limited to '.appveyor.yml')
-rw-r--r--.appveyor.yml82
1 files changed, 68 insertions, 14 deletions
diff --git a/.appveyor.yml b/.appveyor.yml
index d4b6624..a9d2dfc 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -1,27 +1,81 @@
image: Visual Studio 2017
shallow_clone: true
-environment:
- matrix:
- # Match the Python versions currently tested at http://buildbot.scons.org/#/,
- # but include 32 and 64-bit variants.
- - PYTHON: "C:\\Python27"
- - PYTHON: "C:\\Python27-x64"
- - PYTHON: "C:\\Python35"
- - PYTHON: "C:\\Python35-x64"
- - PYTHON: "C:\\Python36"
- - PYTHON: "C:\\Python36-x64"
-
install:
- "set PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
- python --version
- pip install lxml
+ - pip install pypiwin32
- choco install dmd
- choco install ldc
- choco install swig
- choco install vswhere
-build: off
+environment:
+ matrix:
+ - PYTHON: "C:\\Python27"
+ BUILD_JOB_NUM: 1
+ - PYTHON: "C:\\Python27"
+ BUILD_JOB_NUM: 2
+ - PYTHON: "C:\\Python27"
+ BUILD_JOB_NUM: 3
+ - PYTHON: "C:\\Python27"
+ BUILD_JOB_NUM: 4
+
+ - PYTHON: "C:\\Python35"
+ BUILD_JOB_NUM: 1
+ - PYTHON: "C:\\Python35"
+ BUILD_JOB_NUM: 2
+ - PYTHON: "C:\\Python35"
+ BUILD_JOB_NUM: 3
+ - PYTHON: "C:\\Python35"
+ BUILD_JOB_NUM: 4
-test_script:
- - cmd: python runtest.py -a -j 2 || if %errorlevel% == 2 then exit 0 else exit 1 \ No newline at end of file
+ - PYTHON: "C:\\Python36"
+ BUILD_JOB_NUM: 1
+ - PYTHON: "C:\\Python36"
+ BUILD_JOB_NUM: 2
+ - PYTHON: "C:\\Python36"
+ BUILD_JOB_NUM: 3
+ - PYTHON: "C:\\Python36"
+ BUILD_JOB_NUM: 4
+
+ - PYTHON: "C:\\Python27-x64"
+ BUILD_JOB_NUM: 1
+ - PYTHON: "C:\\Python27-x64"
+ BUILD_JOB_NUM: 2
+ - PYTHON: "C:\\Python27-x64"
+ BUILD_JOB_NUM: 3
+ - PYTHON: "C:\\Python27-x64"
+ BUILD_JOB_NUM: 4
+
+ - PYTHON: "C:\\Python35-x64"
+ BUILD_JOB_NUM: 1
+ - PYTHON: "C:\\Python35-x64"
+ BUILD_JOB_NUM: 2
+ - PYTHON: "C:\\Python35-x64"
+ BUILD_JOB_NUM: 3
+ - PYTHON: "C:\\Python35-x64"
+ BUILD_JOB_NUM: 4
+
+ - PYTHON: "C:\\Python36-x64"
+ BUILD_JOB_NUM: 1
+ - PYTHON: "C:\\Python36-x64"
+ BUILD_JOB_NUM: 2
+ - PYTHON: "C:\\Python36-x64"
+ BUILD_JOB_NUM: 3
+ - PYTHON: "C:\\Python36-x64"
+ BUILD_JOB_NUM: 4
+
+build: off
+build_script:
+ - cmd: python runtest.py -l -a > all_tests.txt
+ - ps: >-
+ $TOTAL_BUILD_JOBS = 4;
+ $Lines = (Get-Content all_tests.txt | Measure-Object -line).Lines;
+ $start = ($Lines / $TOTAL_BUILD_JOBS) * ($Env:BUILD_JOB_NUM - 1);
+ $end = ($Lines / $TOTAL_BUILD_JOBS) * $Env:BUILD_JOB_NUM;
+ if ( $Env:BUILD_JOB_NUM -eq $TOTAL_BUILD_JOBS){ $end = $Lines };
+ if ( $start -eq 0 ){ $start = 1 };
+ get-content all_tests.txt | select -first ($end - $start) -skip ($start - 1) | Out-File -Encoding ASCII build_tests.txt;
+ - cmd: powershell -Command "& { python runtest.py -j 2 -f build_tests.txt; if($LastExitCode -eq 2 -Or $LastExitCode -eq 0) { $host.SetShouldExit(0 )} else {$host.SetShouldExit(1)}}" \ No newline at end of file