mirror of
https://github.com/msgpack/msgpack-python.git
synced 2026-02-06 09:50:01 +00:00
Use AppVeyor to build windows wheel (#188)
* Add AppVeyor support to build windows wheel * Fix test_limits on 32bit environments * Ignore Python35-x64 test fail for now Should be fixed in next version.
This commit is contained in:
parent
6b113a6fb3
commit
ceb9635a3f
3 changed files with 80 additions and 2 deletions
57
appveyor.yml
Normal file
57
appveyor.yml
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
environment:
|
||||
|
||||
matrix:
|
||||
|
||||
# For Python versions available on Appveyor, see
|
||||
# http://www.appveyor.com/docs/installed-software#python
|
||||
# The list here is complete (excluding Python 2.6, which
|
||||
# isn't covered by this document) at the time of writing.
|
||||
|
||||
- PYTHON: "C:\\Python27"
|
||||
- PYTHON: "C:\\Python34"
|
||||
- PYTHON: "C:\\Python35"
|
||||
- PYTHON: "C:\\Python27-x64"
|
||||
- PYTHON: "C:\\Python34-x64"
|
||||
DISTUTILS_USE_SDK: "1"
|
||||
|
||||
# Python35-x64 test fails with MemoryError
|
||||
# TODO: investigate it
|
||||
#- PYTHON: "C:\\Python35-x64"
|
||||
|
||||
install:
|
||||
# We need wheel installed to build wheels
|
||||
- "%PYTHON%\\python.exe -m pip install -U pip wheel pytest cython"
|
||||
|
||||
build: off
|
||||
|
||||
test_script:
|
||||
# Put your test command here.
|
||||
# If you don't need to build C extensions on 64-bit Python 3.3 or 3.4,
|
||||
# you can remove "build.cmd" from the front of the command, as it's
|
||||
# only needed to support those cases.
|
||||
# Note that you must use the environment variable %PYTHON% to refer to
|
||||
# the interpreter you're using - Appveyor does not do anything special
|
||||
# to put the Python evrsion you want to use on PATH.
|
||||
- "build.cmd %PYTHON%\\python.exe setup.py build_ext -i"
|
||||
- "build.cmd %PYTHON%\\python.exe setup.py install"
|
||||
- "%PYTHON%\\python.exe -c \"import sys; print(hex(sys.maxsize))\""
|
||||
- "%PYTHON%\\python.exe -c \"from msgpack import _packer, _unpacker\""
|
||||
- "%PYTHON%\\Scripts\\py.test test"
|
||||
- "build.cmd %PYTHON%\\python.exe setup.py bdist_wheel"
|
||||
|
||||
after_test:
|
||||
# This step builds your wheels.
|
||||
# Again, you only need build.cmd if you're building C extensions for
|
||||
# 64-bit Python 3.3/3.4. And you need to use %PYTHON% to get the correct
|
||||
# interpreter
|
||||
|
||||
artifacts:
|
||||
# bdist_wheel puts your built wheel in the dist directory
|
||||
- path: dist\*
|
||||
|
||||
#on_success:
|
||||
# You can use this step to upload your artifacts to a public website.
|
||||
# See Appveyor's documentation for more details. Or you can simply
|
||||
# access your wheels from the Appveyor "artifacts" tab for your build.
|
||||
|
||||
# vim: set shiftwidth=2
|
||||
21
build.cmd
Normal file
21
build.cmd
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
@echo off
|
||||
:: To build extensions for 64 bit Python 3, we need to configure environment
|
||||
:: variables to use the MSVC 2010 C++ compilers from GRMSDKX_EN_DVD.iso of:
|
||||
:: MS Windows SDK for Windows 7 and .NET Framework 4
|
||||
::
|
||||
:: More details at:
|
||||
:: https://github.com/cython/cython/wiki/64BitCythonExtensionsOnWindows
|
||||
|
||||
IF "%DISTUTILS_USE_SDK%"=="1" (
|
||||
ECHO Configuring environment to build with MSVC on a 64bit architecture
|
||||
ECHO Using Windows SDK 7.1
|
||||
"C:\Program Files\Microsoft SDKs\Windows\v7.1\Setup\WindowsSdkVer.exe" -q -version:v7.1
|
||||
CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release
|
||||
SET MSSdk=1
|
||||
REM Need the following to allow tox to see the SDK compiler
|
||||
SET TOX_TESTENV_PASSENV=DISTUTILS_USE_SDK MSSdk INCLUDE LIB
|
||||
) ELSE (
|
||||
ECHO Using default MSVC build environment
|
||||
)
|
||||
|
||||
CALL %*
|
||||
|
|
@ -271,7 +271,7 @@ cdef class Packer(object):
|
|||
msgpack_pack_ext(&self.pk, typecode, len(data))
|
||||
msgpack_pack_raw_body(&self.pk, data, len(data))
|
||||
|
||||
def pack_array_header(self, size_t size):
|
||||
def pack_array_header(self, long long size):
|
||||
if size > (2**32-1):
|
||||
raise PackValueError
|
||||
cdef int ret = msgpack_pack_array(&self.pk, size)
|
||||
|
|
@ -284,7 +284,7 @@ cdef class Packer(object):
|
|||
self.pk.length = 0
|
||||
return buf
|
||||
|
||||
def pack_map_header(self, size_t size):
|
||||
def pack_map_header(self, long long size):
|
||||
if size > (2**32-1):
|
||||
raise PackValueError
|
||||
cdef int ret = msgpack_pack_map(&self.pk, size)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue