appveyor.yml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. # Appveyor, continuous integration for Windows
  2. # https://ci.appveyor.com/project/nedbat/coveragepy
  3. version: '{branch}-{build}'
  4. shallow_clone: true
  5. environment:
  6. CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\ci\\run_with_env.cmd"
  7. matrix:
  8. - JOB: "2.6 32-bit"
  9. TOXENV: "py26"
  10. PYTHON: "C:\\Python26.6"
  11. PYTHON_VERSION: "2.6.6"
  12. PYTHON_ARCH: "32"
  13. - JOB: "2.6 64-bit"
  14. TOXENV: "py26"
  15. PYTHON: "C:\\Python26.6-x64"
  16. PYTHON_VERSION: "2.6.6"
  17. PYTHON_ARCH: "64"
  18. - JOB: "2.7 32-bit"
  19. TOXENV: "py27"
  20. PYTHON: "C:\\Python27.11"
  21. PYTHON_VERSION: "2.7.11"
  22. PYTHON_ARCH: "32"
  23. - JOB: "2.7 64-bit"
  24. TOXENV: "py27"
  25. PYTHON: "C:\\Python27.11-x64"
  26. PYTHON_VERSION: "2.7.11"
  27. PYTHON_ARCH: "64"
  28. - JOB: "3.3 32-bit"
  29. TOXENV: "py33"
  30. PYTHON: "C:\\Python33"
  31. PYTHON_VERSION: "3.3"
  32. PYTHON_ARCH: "32"
  33. - JOB: "3.3 64-bit"
  34. TOXENV: "py33"
  35. PYTHON: "C:\\Python33-x64"
  36. PYTHON_VERSION: "3.3"
  37. PYTHON_ARCH: "64"
  38. - JOB: "3.4 32-bit"
  39. TOXENV: "py34"
  40. PYTHON: "C:\\Python34"
  41. PYTHON_VERSION: "3.4"
  42. PYTHON_ARCH: "32"
  43. - JOB: "3.4 64-bit"
  44. TOXENV: "py34"
  45. PYTHON: "C:\\Python34-x64"
  46. PYTHON_VERSION: "3.4"
  47. PYTHON_ARCH: "64"
  48. - JOB: "3.5 32-bit"
  49. TOXENV: "py35"
  50. PYTHON: "C:\\Python35"
  51. PYTHON_VERSION: "3.5.0"
  52. PYTHON_ARCH: "32"
  53. - JOB: "3.5 64-bit"
  54. TOXENV: "py35"
  55. PYTHON: "C:\\Python35-x64"
  56. PYTHON_VERSION: "3.5.0"
  57. PYTHON_ARCH: "64"
  58. # Meta coverage
  59. - JOB: "Meta 2.7"
  60. TOXENV: "py27"
  61. PYTHON: "C:\\Python27"
  62. PYTHON_VERSION: "2.7"
  63. PYTHON_ARCH: "32"
  64. COVERAGE_COVERAGE: "yes"
  65. - JOB: "Meta 3.4"
  66. TOXENV: "py34"
  67. PYTHON: "C:\\Python34"
  68. PYTHON_VERSION: "3.4"
  69. PYTHON_ARCH: "32"
  70. COVERAGE_COVERAGE: "yes"
  71. init:
  72. - "ECHO %TOXENV%"
  73. install:
  74. # Install Python (from the official .msi of http://python.org) and pip when
  75. # not already installed.
  76. - ps: if (-not(Test-Path($env:PYTHON))) { & ci\install.ps1 }
  77. # Prepend newly installed Python to the PATH of this build (this cannot be
  78. # done from inside the powershell script as it would require to restart
  79. # the parent CMD process).
  80. - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
  81. # Check that we have the expected version and architecture for Python
  82. - "python --version"
  83. - "python -c \"import struct; print(struct.calcsize('P') * 8)\""
  84. # Upgrade to the latest version of pip to avoid it displaying warnings
  85. # about it being out of date.
  86. - "pip install --disable-pip-version-check --user --upgrade pip"
  87. # And upgrade virtualenv to get the latest pip inside .tox virtualenvs.
  88. - "pip install --disable-pip-version-check --user --upgrade virtualenv"
  89. # Install requirements.
  90. - "%CMD_IN_ENV% pip install -r requirements/tox.pip -r requirements/wheel.pip"
  91. # Make a python3.4.bat file in the current directory so that tox will find it
  92. # and python3.4 will mean what we want it to.
  93. - "python -c \"import os; open('python{0}.{1}.bat'.format(*os.environ['TOXENV'][2:]), 'w').write('@{0}\\\\python \\x25*\\n'.format(os.environ['PYTHON']))\""
  94. build_script:
  95. # If not a metacov job, then build wheels and .exe installers.
  96. - if NOT "%COVERAGE_COVERAGE%" == "yes" %CMD_IN_ENV% %PYTHON%\python setup.py bdist_wheel bdist_wininst
  97. # Push everything in dist\ as an artifact.
  98. - ps: if ( Test-Path 'dist' -PathType Container ) { Get-ChildItem dist\*.* | % { Push-AppveyorArtifact $_.FullName -FileName ('dist\' + $_.Name) } }
  99. test_script:
  100. - "%CMD_IN_ENV% %PYTHON%\\Scripts\\tox"
  101. after_test:
  102. - if "%COVERAGE_COVERAGE%" == "yes" 7z a metacov-win-%TOXENV%.zip %APPVEYOR_BUILD_FOLDER%\.metacov*
  103. artifacts:
  104. - path: "metacov-*.zip"