.appveyor.yml 2.69 KB
Newer Older
1
2
3
4
5
6
7
8
9
environment:
  global:
    REPO_DIR: python-appveyor-demo
    PACKAGE_NAME: python_appveyor_demo
    BUILD_COMMIT: master
    BUILD_DEPENDS: "cython"
    TEST_DEPENDS: "nose"

  matrix:
Christian Clauss's avatar
Christian Clauss committed
10
11
    - PYTHON: "C:\\Miniconda37"
      PYTHON_VERSION: "3.7"
12
      PYTHON_ARCH: "32"
Christian Clauss's avatar
Christian Clauss committed
13
14
    - PYTHON: "C:\\Miniconda37-x64"
      PYTHON_VERSION: "3.7"
15
      PYTHON_ARCH: "64"
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
    - PYTHON: "C:\\Miniconda38"
      PYTHON_VERSION: "3.8"
      PYTHON_ARCH: "32"
    - PYTHON: "C:\\Miniconda38-x64"
      PYTHON_VERSION: "3.8"
      PYTHON_ARCH: "64"
    - PYTHON: "C:\\Miniconda39"
      PYTHON_VERSION: "3.9"
      PYTHON_ARCH: "32"
    - PYTHON: "C:\\Miniconda39-x64"
      PYTHON_VERSION: "3.9"
      PYTHON_ARCH: "64"
    - PYTHON: "C:\\Miniconda310"
      PYTHON_VERSION: "3.10"
      PYTHON_ARCH: "32"
    - PYTHON: "C:\\Miniconda310-x64"
      PYTHON_VERSION: "3.10"
      PYTHON_ARCH: "64"
34
35
36
37
38
39

# We always use a 64-bit machine, but can build x86 distributions
# with the TARGET_ARCH variable.
platform:
    - x64

Christian Clauss's avatar
Christian Clauss committed
40
41
matrix:
    fast_finish: false
42
43
44

install:
    # Install miniconda and fix headers
Christian Clauss's avatar
Christian Clauss committed
45
46
47
48
    - where python
    - where conda
    - SET CONDA_PATH=$(where conda)
    - echo %CONDA_PATH%
49
50
51
52
53
54
55
56
57
    - SET PATH=%PYTHON%;%PYTHON%\Scripts;%PYTHON%\Library\bin;%PATH%
    - conda info

    # Check that we have the expected version and architecture for Python
    - python --version
    - python -c "import struct; print(struct.calcsize('P') * 8)"

    # clone a origsel/python-appveyor-demo
    # this repo includes a simple package to test appveyor
Christian Clauss's avatar
Christian Clauss committed
58
    - git clone https://github.com/ogrisel/python-appveyor-demo.git
59
60
61
62
63
64
65
66

build_script:
    # Install build requirements
    - conda install --yes %BUILD_DEPENDS%

    # build wheel:
    - cd %REPO_DIR%
    - git checkout %BUILD_COMMIT%
67
    - python setup.py bdist_wheel
68
69
70
71
72
73
74
75
76
77
78
79
80
    - ls dist/*

test_script:
    # create test env
    - conda create --yes -n test_env python=%PYTHON_VERSION% %TEST_DEPENDS%
    - activate test_env

    # install from wheel
    - pip install --no-index --find-links dist/ %PACKAGE_NAME%

    # run tests from install wheel
    - cd ..
    - python -m pyappveyordemo.tests.test_extension
81
82

    # Smoke test of install_python script
83
    # Use C:\PythonXY, C:\PythonXY-x64, C:\PythonXYrcZ, or C:\PythonXYrcZ-x64
84
85
86
87
    - set PYTHON=C:\Python37
    - ps: .\install_python.ps1
    - set PYTHON=C:\Python37-x64
    - ps: .\install_python.ps1
88
    - set PYTHON=C:\Python38-x64
89
    - ps: .\install_python.ps1
mattip's avatar
mattip committed
90
91
    - set PYTHON=C:\Python38
    - ps: .\install_python.ps1
92
93
94
95
    - set PYTHON=C:\Python39-x64
    - ps: .\install_python.ps1
    - set PYTHON=C:\Python39
    - ps: .\install_python.ps1
96
    - set PYTHON=C:\Python310-x64
Andrew Murray's avatar
Andrew Murray committed
97
    - ps: .\install_python.ps1
98
    - set PYTHON=C:\Python310
mattip's avatar
mattip committed
99
    - ps: .\install_python.ps1