forked from mkleehammer/pyodbc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
91 lines (77 loc) · 3.42 KB
/
appveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# This AppVeyor CI configuration file:
# - builds pyodbc with multiple versions of Python
# - tests the generated pyodbc module against various databases and drivers
# - (optionally) creates "wheel" files for distribution, and stores them as
# AppVeyor artifacts which can be downloaded from the AppVeyor UI
#
# Various aspects of this file's behavior can be controlled by setting environment
# variables in the AppVeyor UI (see the Settings tab -> Environment ->
# Environment variables). You will need an AppVeyor account for this. Here are
# the relevant variables and their possible string values, where "*" indicates the
# defaults:
# - APVYR_RUN_TESTS - run the unit tests, overall control (true*/false)
# - APVYR_RUN_MSSQL_TESTS - run the MS SQL Server unit tests (true*/false)
# - APVYR_RUN_POSTGRES_TESTS - run the PostgreSQL unit tests (true*/false)
# - APVYR_RUN_MYSQL_TESTS - run the MySQL unit tests (true*/false)
# - APVYR_GENERATE_WHEELS - generate distributable wheel files (true/false*)
# - APVYR_VERBOSE - output more information to the logs (true*/false)
#
# For more information about appveyor.yml files, see: https://www.appveyor.com/docs/appveyor-yml/
# the AppVeyor cache is used to carry files between jobs, so make sure the jobs are serialized
max_jobs: 1
# the default AppVeyor image for the jobs
image: Visual Studio 2022
environment:
global:
# the following variables can be overridden as necessary through the AppVeyor UI
APVYR_RUN_TESTS: "true"
APVYR_RUN_MSSQL_TESTS: "true"
APVYR_RUN_POSTGRES_TESTS: "true"
APVYR_RUN_MYSQL_TESTS: "true"
APVYR_GENERATE_WHEELS: "false"
APVYR_VERBOSE: "true"
# SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the
# /E:ON and /V:ON options are not enabled in the batch script interpreter
# http://stackoverflow.com/a/13751649/163740
# http://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros#microsoft-specific-predefined-macros
WITH_COMPILER: "cmd /E:ON /V:ON /C .\\appveyor\\compile.cmd"
# database-related variables, which must match the "init:" and "services:" sections below
# ref: https://www.appveyor.com/docs/services-databases/
MSSQL_INSTANCE: "(local)\\SQL2019"
POSTGRES_PATH: "C:\\Program Files\\PostgreSQL\\13"
MYSQL_PATH: "C:\\Program Files\\MySQL\\MySQL Server 8.0"
# the cache should always be saved, even on failure, to be available for the next run
APPVEYOR_SAVE_CACHE_ON_ERROR: "true"
matrix:
# all the Python versions to be tested, both 32-bit and 64-bit
# ref: https://www.appveyor.com/docs/windows-images-software/#python
- PYTHON_HOME: "C:\\Python38"
- PYTHON_HOME: "C:\\Python38-x64"
- PYTHON_HOME: "C:\\Python39"
- PYTHON_HOME: "C:\\Python39-x64"
- PYTHON_HOME: "C:\\Python310"
- PYTHON_HOME: "C:\\Python310-x64"
- PYTHON_HOME: "C:\\Python311"
- PYTHON_HOME: "C:\\Python311-x64"
- PYTHON_HOME: "C:\\Python312"
- PYTHON_HOME: "C:\\Python312-x64"
# ref: https://www.appveyor.com/docs/services-databases/
init:
- net start MSSQL$SQL2019
- ps: Start-Service MySQL80
cache:
- apvyr_cache
install:
- ps: .\appveyor\install.ps1
- call .\appveyor\install.cmd
# ref: https://www.appveyor.com/docs/services-databases/
services:
- postgresql13
build_script:
- call .\appveyor\build_script.cmd
test_script:
- call .\appveyor\test_script.cmd
after_test:
- call .\appveyor\after_test.cmd
artifacts:
- path: 'dist\*.whl'