@@ -17,81 +17,81 @@ cache:
1717 - C:\ProgramData\chocolatey\lib -> appveyor.yml
1818
1919install :
20- # add python and python user-base to path for pip installs
20+ # direct choco install supposed to work, but not? still doing in install.bat
21+ # - cinst: dmd ldc swig vswhere ixsltproc winflexbison3
2122 - cmd : .\.appveyor\install.bat
23+ - cmd : if %COVERAGE% equ 1 .\.appveyor\install-cov.bat
2224
23- # build matrix will be number of images multiplied by each '-' below,
24- # less any exclusions.
25- # split builds into sets of four jobs due to appveyor per-job time limit
26- # Leaving the Coverage build on VS2017 for build-time reasons (1hr time limit)
27- # Maybe move this one somewhere else in future to restore some flexibility.
25+ # Build matrix will be number of images multiplied by #entries in matrix:,
26+ # less any excludes.
27+ #
28+ # "Build" is kind of a misnomer - we are actually running the test suite,
29+ # and this is slow on Windows, so keep the matrix as small as possible.
30+ # Leaving the Coverage build on VS2017 for build-time reasons (1hr time limit).
31+ # maybe move coverage to github in future to restore some flexibility?
2832environment :
33+ # set COVERAGE to 1 for any builder that should run it
34+ COVERAGE : 0
35+ SCONS_CACHE_MSVC_CONFIG : " true"
2936 matrix :
30-
37+ # Test oldest and newest supported Pythons, and a subset in between.
38+ # Skipping 3.8, 3.10, 3.12 at this time
39+ - WINPYTHON : " Python313"
3140 - WINPYTHON : " Python311"
32- COVERAGE : 0
33-
34- - WINPYTHON : " Python310"
35- COVERAGE : 0
36-
37- - WINPYTHON : " Python38"
38- COVERAGE : 0
39-
40- - WINPYTHON : " Python36"
41- COVERAGE : 1
42-
43- # skipping 3.7 and 3.9 at this time
41+ - WINPYTHON : " Python39"
42+ - WINPYTHON : " Python37"
4443
4544# remove sets of build jobs based on criteria below
4645# to fine tune the number and platforms tested
4746matrix :
4847 exclude :
49- # test python 3.6 on Visual Studio 2017 image
48+ # test python 3.7 on Visual Studio 2017 image
5049 - image : Visual Studio 2017
51- WINPYTHON : " Python311 "
50+ WINPYTHON : " Python313 "
5251 - image : Visual Studio 2017
53- WINPYTHON : " Python310 "
52+ WINPYTHON : " Python311 "
5453 - image : Visual Studio 2017
55- WINPYTHON : " Python38 "
54+ WINPYTHON : " Python39 "
5655
57- # test python 3.8 on Visual Studio 2019 image
56+ # test python 3.9 on Visual Studio 2019 image
5857 - image : Visual Studio 2019
59- WINPYTHON : " Python311 "
58+ WINPYTHON : " Python313 "
6059 - image : Visual Studio 2019
61- WINPYTHON : " Python310 "
60+ WINPYTHON : " Python311 "
6261 - image : Visual Studio 2019
63- WINPYTHON : " Python36 "
62+ WINPYTHON : " Python37 "
6463
65- # test python 3.10 and 3.11 on Visual Studio 2022 image
64+ # test python 3.11, 3.13 on Visual Studio 2022 image
6665 - image : Visual Studio 2022
67- WINPYTHON : " Python36 "
66+ WINPYTHON : " Python39 "
6867 - image : Visual Studio 2022
69- WINPYTHON : " Python38 "
68+ WINPYTHON : " Python37 "
7069
71- # remove some binaries we don't want to be found
70+ # Remove some binaries we don't want to be found
71+ # Note this is no longer needed, git-windows bin/ is quite minimal now.
7272before_build :
7373 - ps : .\.appveyor\ignore_git_bins.ps1
7474
7575build : off
7676
7777build_script :
78-
79- # exclude VS 10.0 because it hangs the testing until this is resolved:
80- # https://help.appveyor.com/discussions/problems/19283-visual-studio-2010-trial-license-has-expired
81- - ps : .\.appveyor\disable_msvc_10.ps1
78+ # Image version-based excludes:
79+ # No excludes at the moment, but the exclude script generates the
80+ # (possibly empty) exclude_list.txt which is used in the following step,
81+ # so leave the scheme in place in case we need to put back excludes later.
82+ - ps : .\.appveyor\exclude_tests.ps1
8283
8384 # setup coverage by creating the coverage config file, and adding coverage
8485 # to the sitecustomize so that all python processes start with coverage
85- - ps : .\.appveyor\coverage_setup.ps1
86+ - ps : if ($env:COVERAGE -eq 1) { .\.appveyor\coverage_setup.ps1 }
8687
8788 # NOTE: running powershell from cmd is intended because
8889 # it formats the output correctly
8990 - cmd : powershell -Command "& { if($env:COVERAGE -eq 1) { coverage run -p --rcfile=$($env:COVERAGE_PROCESS_START) runtest.py -j 2 -t --exclude-list exclude_list.txt -a } else { C:\\%WINPYTHON%\\python.exe runtest.py -j 2 -t --exclude-list exclude_list.txt -a }; if($LastExitCode -eq 2 -Or $LastExitCode -eq 0) { $host.SetShouldExit(0 )} else {$host.SetShouldExit(1)}}"
9091
9192# run coverage even if there was a test failure
9293on_finish :
93- - ps : .\.appveyor\coverage_report.ps1
94- # running codecov in powershell causes an error so running in platform
95- # shells
94+ - ps : if ($env:COVERAGE -eq 1) { .\.appveyor\coverage_report.ps1 }
95+ # running codecov in powershell causes an error so running in cmd
9696 - cmd : if %COVERAGE% equ 1 codecov -X gcov --file coverage_xml.xml
9797
0 commit comments