Skip to content
Snippets Groups Projects
Commit 8f6f19f3 authored by Holger Nahrstaedt's avatar Holger Nahrstaedt
Browse files

add appveyor

parent 63939144
No related branches found
No related tags found
No related merge requests found
# Based on https://github.com/ogrisel/python-appveyor-demo/blob/master/appveyor.yml
environment:
global:
# SDK v7.0 MSVC Express 2008's SetEnv.cmd script will fail if the
# /E:ON and /V:ON options are not enabled in the batch script intepreter
# See: http://stackoverflow.com/a/13751649/163740
WITH_COMPILER: "cmd /E:ON /V:ON /C .\\appveyor\\run_with_compiler.cmd"
matrix:
- PYTHON: "C:\\Python35"
PYTHON_ARCH: "32"
MINICONDA: C:\Miniconda35
- PYTHON: "C:\\Python35-x64"
PYTHON_ARCH: "64"
MINICONDA: C:\Miniconda35-x64
- PYTHON: "C:\\Python36"
PYTHON_ARCH: "32"
MINICONDA: C:\Miniconda36
- PYTHON: "C:\\Python36-x64"
PYTHON_ARCH: "64"
MINICONDA: C:\Miniconda36-x64
install:
# If there is a newer build queued for the same PR, cancel this one.
# The AppVeyor 'rollout builds' option is supposed to serve the same
# purpose but it is problematic because it tends to cancel builds pushed
# directly to master instead of just PR builds (or the converse).
# credits: JuliaLang developers.
- ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
throw "There are newer queued builds for this pull request, failing early." }
- ECHO "Filesystem root:"
- ps: "ls \"C:/\""
- ECHO "Installed SDKs:"
- ps: "ls \"C:/Program Files/Microsoft SDKs/Windows\""
#- set "PATH=%PYTHON%;%PYTHON%\\Scripts;%PYTHON%\\Tools\\Scripts;%PATH%"
- set "PATH=%MINICONDA%;%MINICONDA%\\Scripts;%PATH%"
#- set VCINSTALLDIR="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC"
- call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
- set CL=-FI"%VCINSTALLDIR%\INCLUDE\stdint.h"
- conda config --set always_yes yes --set changeps1 no
- conda config --add channels conda-forge
- conda config --add channels wheeler-microfluidics
- conda update -q conda
- conda info -a
- conda install --yes nose conda-build pycrypto setuptools pip numpy pytest-pylint
# Upgrade to the latest version of pip to avoid it displaying warnings
# about it being out of date.
#- "pip install --disable-pip-version-check --user --upgrade pip"
#- "python -m pip install -U pip setuptools"
#- "pip install --user pycrypto Paramiko"
- "pip install --user --upgrade graphenelib"
build_script:
# Build the compiled extension
- "python setup.py build"
test_script:
# Run the project tests
- "py.test"
after_test:
# If tests are successful, create binary packages for the project.
- "pip install wheel"
- "python setup.py bdist_wheel"
#- "%CMD_IN_ENV% python setup.py bdist_wininst"
#- "%CMD_IN_ENV% python setup.py bdist_msi"
- ps: "ls dist"
artifacts:
# Archive the generated packages in the ci.appveyor.com build report.
- path: dist\*
@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://packaging.python.org/appveyor/
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 %*
\ No newline at end of file
# Fetch a numpy wheel from the sklearn rackspace wheelhouse.
# That wheel was generated by @ogrisel by calling `wheel convert` on
# the binaries from http://www.lfd.uci.edu/~gohlke/pythonlibs/
# This is a temporary solution. As soon as numpy provides an official
# wheel for windows we ca delete this --find-links line.
--find-links http://28daf2247a33ed269873-7b1aad3fab3cc330e1fd9d109892382a.r6.cf2.rackcdn.com
# fix the versions of numpy to force the use of numpy to use the whl
# of the rackspace folder instead of trying to install from more recent
# source tarball published on PyPI
numpy==1.9.1
steem
nose
wheel
numpydoc
\ No newline at end of file
#!/bin/bash
brew update
brew install ccache
brew outdated openssl || brew upgrade openssl
brew install openssl@1.1
export CFLAGS="-I$(brew --prefix openssl)/include $CFLAGS"
export LDFLAGS="-L$(brew --prefix openssl)/lib $LDFLAGS"
# install pyenv
git clone --depth 1 https://github.com/pyenv/pyenv ~/.pyenv
PYENV_ROOT="$HOME/.pyenv"
PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
case "${TOXENV}" in
py27)
curl -O https://bootstrap.pypa.io/get-pip.py
python get-pip.py --user
;;
py33)
pyenv install 3.3.6
pyenv global 3.3.6
;;
py34)
pyenv install 3.4.6
pyenv global 3.4.6
;;
py35)
pyenv install 3.5.3
pyenv global 3.5.3
;;
py36)
pyenv install 3.6.1
pyenv global 3.6.1
;;
pypy*)
pyenv install "$PYPY_VERSION"
pyenv global "$PYPY_VERSION"
;;
pypy3)
pyenv install pypy3-2.4.0
pyenv global pypy3-2.4.0
;;
docs)
brew install enchant
curl -O https://bootstrap.pypa.io/get-pip.py
python get-pip.py --user
;;
esac
pyenv rehash
python -m pip install --user virtualenv
python -m virtualenv ~/.venv
source ~/.venv/bin/activate
# This coverage pin must be kept in sync with tox.ini
pip install --upgrade pip
pip install --upgrade wheel
pip install tox
pip install delocate
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment