7658be365b94779a81021f916f8cdd09d3851e7c
[aubio.git] / .appveyor.yml
1 # appveyor configuration. See http://www.appveyor.com/docs/appveyor-yml
2 # and http://www.appveyor.com/docs/installed-software#python
3
4 environment:
5
6   global:
7       MINGW_32: C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin
8       MINGW_64: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin
9
10   matrix:
11
12     # pre-installed python version, see:
13     # http://www.appveyor.com/docs/installed-software#python
14     - PYTHONDIR: C:\Python27
15       PYTHON_VERSION: 2.7.x
16       PYTHON_ARCH: 32
17
18     - PYTHONDIR: C:\Python27-x64
19       PYTHON_VERSION: 2.7.x
20       PYTHON_ARCH: 64
21
22     - PYTHONDIR: C:\Python35
23       PYTHON_VERSION: 3.5.x
24       PYTHON_ARCH: 32
25
26     - PYTHONDIR: C:\Python35-x64
27       PYTHON_VERSION: 3.5.x
28       PYTHON_ARCH: 64
29
30     - PYTHONDIR: C:\Python36
31       PYTHON_VERSION: 3.6.x
32       PYTHON_ARCH: 32
33
34     - PYTHONDIR: C:\Python36-x64
35       PYTHON_VERSION: 3.6.x
36       PYTHON_ARCH: 64
37
38     - PYTHONDIR: C:\Python37
39       PYTHON_VERSION: 3.7.x
40       PYTHON_ARCH: 32
41
42     - PYTHONDIR: C:\Python37-x64
43       PYTHON_VERSION: 3.7.x
44       PYTHON_ARCH: 64
45
46 install:
47
48   - ECHO "Installed SDKs:"
49   - ps: "ls \"C:/Program Files/Microsoft SDKs/Windows\""
50
51   - "SET PATH=%PYTHONDIR%;%PYTHONDIR%\\Scripts;%PATH%"
52
53   #- if [%PYTHON_ARCH%]==[32] SET PATH=%MINGW_32%;%PATH%
54   - if [%PYTHON_ARCH%]==[64] SET PATH=%MINGW_64%;%PATH%
55
56   # Check that we have the expected version and architecture for Python
57   - "python --version"
58   - "python -c \"import struct; print(struct.calcsize('P') * 8)\""
59
60   - "python -m pip install --disable-pip-version-check --user --upgrade pip"
61   - "python -m pip install --upgrade setuptools"
62
63   # We need wheel installed to build wheels
64   - "python -m pip install wheel"
65
66   - "pip install -r requirements.txt"
67
68 before_build:
69   - "bash scripts/get_waf.sh"
70
71 build_script:
72   # also build libaubio with waf
73   - python waf configure build install --verbose --msvc_version="msvc 14.0"
74   # clean before building python package
75   - python waf distclean
76   # build python module without using libaubio
77   - pip wheel -v -v -v --wheel-dir=dist .
78   # build, upload and install wheel (inspired by numpy's appveyor)
79   - ps: |
80       pip wheel -v -v -v --wheel-dir=dist .
81       ls dist -r | Foreach-Object {
82           Push-AppveyorArtifact $_.FullName
83           pip install $_.FullName
84       }
85
86 test_script:
87   - "python python\\demos\\demo_create_test_sounds.py"
88   - "nose2 --verbose"