Merge pull request #4167 from mwichmann/doc/builder-tweaks
[scons.git] / .appveyor.yml
blob30d64395423105dd0ba6f18ac26cc28442b60fb6
1 #version: '3.0.1.{build}'
3 # When planning updates here, check availability at:
4 # https://www.appveyor.com/docs/windows-images-software/
5 # This is slow, try to keep the number of builds as low as makes sense.
7 image:
8   # linux builds done in Travis CI for now
9   - Visual Studio 2017
10   - Visual Studio 2019
11   - Visual Studio 2022
13 cache:
14   - downloads -> appveyor.yml
15   - '%LOCALAPPDATA%\pip\Cache'
16   - C:\ProgramData\chocolatey\bin -> appveyor.yml
17   - C:\ProgramData\chocolatey\lib -> appveyor.yml
19 install:
20   # add python and python user-base to path for pip installs
21   - cmd: .\.appveyor\install.bat
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 environment:
27   matrix:
28     - WINPYTHON: "Python36"
29       COVERAGE: 1
31     - WINPYTHON: "Python37"
32       COVERAGE: 0
34     - WINPYTHON: "Python38"
35       COVERAGE: 0
37     - WINPYTHON: "Python310"
38       COVERAGE: 0
41 # remove sets of build jobs based on criteria below
42 # to fine tune the number and platforms tested
43 matrix:
44   exclude:
45     # test python 3.8 on Visual Studio 2017 image
46     - image: Visual Studio 2017
47       WINPYTHON: "Python310"
48     - image: Visual Studio 2017
49       WINPYTHON: "Python37"
50     - image: Visual Studio 2017
51       WINPYTHON: "Python38"
53     # test python 3.7 on Visual Studio 2019 image
54     - image: Visual Studio 2019
55       WINPYTHON: "Python310"
56     - image: Visual Studio 2019
57       WINPYTHON: "Python36"
59     # test python 3.10 on Visual Studio 2022 image
60     - image: Visual Studio 2022
61       WINPYTHON: "Python36"
62     - image: Visual Studio 2022
63       WINPYTHON: "Python37"
64     - image: Visual Studio 2022
65       WINPYTHON: "Python38"
67 # remove some binaries we don't want to be found
68 before_build:
69     - ps: .\.appveyor\ignore_git_bins.ps1
71 build: off
73 build_script:
75   # exclude VS 10.0 because it hangs the testing until this is resolved:
76   # https://help.appveyor.com/discussions/problems/19283-visual-studio-2010-trial-license-has-expired
77   - ps: .\.appveyor\disable_msvc_10.ps1
79   # setup coverage by creating the coverage config file, and adding coverage
80   # to the sitecustomize so that all python processes start with coverage
81   - ps: .\.appveyor\coverage_setup.ps1
83   # NOTE: running powershell from cmd is intended because
84   # it formats the output correctly
85   - 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)}}"
87 # run coverage even if there was a test failure
88 on_finish:
89   - ps: .\.appveyor\coverage_report.ps1
90   # running codecov in powershell causes an error so running in platform
91   # shells
92   - cmd: if %COVERAGE% equ 1 codecov -X gcov --file coverage_xml.xml