aboutsummaryrefslogtreecommitdiff
path: root/appveyor.yml
blob: 2a940d7cba07d89f9a98755f131002d3dd9a1950 (plain) (blame)
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# vim ft=yaml
# CI on Windows via appveyor

environment:
  global:
    REPO_DIR: protobuf
    PACKAGE_NAME: protobuf
    BUILD_COMMIT: v3.6.0
    BUILD_VERSION: 3.6.0
    BUILD_DLL: OFF
    UNICODE: ON
    PB_TEST_DEP: "six==1.9"
    OTHER_TEST_DEP: "setuptools==38.5.1"
    WHEELHOUSE_UPLOADER_USERNAME: travis-worker

  matrix:
    - PYTHON: C:\Python35
      PYTHON_VERSION: 3.5
      PYTHON_ARCH: 32

    - PYTHON: C:\Python35-x64
      PYTHON_VERSION: 3.5
      PYTHON_ARCH: 64

    - PYTHON: C:\Python36
      PYTHON_VERSION: 3.6
      PYTHON_ARCH: 32

    - PYTHON: C:\Python36-x64
      PYTHON_VERSION: 3.6
      PYTHON_ARCH: 64

matrix:
    fast_finish: true

install:
    # Fetch submodules
    - git submodule update --init --recursive

    # Prepend newly installed Python to the PATH of this build (this cannot be
    # done from inside the powershell script as it would require to restart
    # the parent CMD process).
    - SET PATH=%PYTHON%;%PYTHON%\Scripts;%PATH%
    - python -m pip install -U pip
    - pip install wheel

    # Fix MSVC builds for 64-bit Python. See:
    # http://stackoverflow.com/questions/32091593/cannot-install-windows-sdk-7-1-on-windows-10
    - echo "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 > "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64/vcvars64.bat"

    # Fix MSVC builds for 64-bit Python2.7. See:
    # https://help.appveyor.com/discussions/kb/38-visual-studio-2008-64-bit-builds
    - curl -L -o vs2008_patch.zip https://github.com/menpo/condaci/raw/master/vs2008_patch.zip
    - 7z x vs2008_patch.zip -ovs2008_patch
    - cd vs2008_patch
    - CALL setup_x64.bat
    - dir "C:\Program Files (x86)\"
    - copy "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars64.bat" "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\vcvarsamd64.bat"
    - cd ..

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

    # Install zlib
    - mkdir zlib
    - curl -L -o zlib.zip http://www.winimage.com/zLibDll/zlib123dll.zip
    - curl -L -o zlib-src.zip http://www.winimage.com/zLibDll/zlib123.zip
    - 7z x zlib.zip -ozlib
    - 7z x zlib-src.zip -ozlib\include
    - SET ZLIB_ROOT=%cd%\zlib
    - del /Q zlib.zip
    - del /Q zlib-src.zip

before_build:
    - if %PYTHON%==C:\Python35 set generator=Visual Studio 14
    - if %PYTHON%==C:\Python35 set vcplatform=Win32

    - if %PYTHON%==C:\Python35-x64 set generator=Visual Studio 14 Win64
    - if %PYTHON%==C:\Python35-x64 set vcplatform=x64

    - if %PYTHON%==C:\Python36 set generator=Visual Studio 14
    - if %PYTHON%==C:\Python36 set vcplatform=Win32

    - if %PYTHON%==C:\Python36-x64 set generator=Visual Studio 14 Win64
    - if %PYTHON%==C:\Python36-x64 set vcplatform=x64

build_script:
    - CALL appveyor.bat

test_script:
    # create test env
    - virtualenv --python %PYTHON%\Python.exe test_env
    - test_env\Scripts\activate.bat
    - where python
    - pip install %PB_TEST_DEP%

    # install from wheel
    - pip install --pre --no-index --find-links %REPO_DIR%\python\dist\ %PACKAGE_NAME%

    # Change into an innocuous directory and find tests from installation
    - mkdir for_testing
    - cd for_testing
    - python --version
    - python -c "from google.protobuf.pyext import _message;"
    - cd ..

artifacts:
    - path: "%REPO_DIR%\\python\\dist\\*"

on_success:
  # # Upload the generated wheel package to Rackspace
  # # On Windows, Apache Libcloud cannot find a standard CA cert bundle so we
  # # disable the ssl checks.
  # - pip install wheelhouse-uploader
  # - "python -m wheelhouse_uploader upload
  #   --no-ssl-check --local-folder=%REPO_DIR%\\dist --no-update-index wheels"