2019-12-28 05:22:00 +00:00
function raise-only-error {
Param ( [ scriptblock ] $Func )
# powershell interprets writing to stderr as an error, so only raise error if the return code is none-zero
try {
$Func . Invoke ( )
} catch {
if ( $LastExitCode -ne 0 ) {
throw $_
} else {
echo $_
}
}
}
2019-11-29 15:00:31 +00:00
function Generate-sdist {
2019-12-28 05:22:00 +00:00
python -m pip install cython
2019-11-29 15:00:31 +00:00
python setup . py sdist - -formats = gztar
2019-12-28 05:22:00 +00:00
raise-only -error -Func { python setup . py bdist_wheel - -build_examples - -universal }
python -m pip uninstall cython -y
2019-11-29 15:00:31 +00:00
}
function Generate-windows-wheels {
2019-12-21 21:32:28 +00:00
pip wheel - -no -deps . -w dist /
2019-11-29 15:00:31 +00:00
}
function Rename-windows-wheels {
# Set new wheel name, keep default if release (tag)
# release: Kivy-X.Y.Z-cpAB-cpABm-ARCH.whl (Kivy_examples-X.Y.Z-py2.py3-none-any.whl)
# nightly: Kivy-X.Y.Z.dev0-cpAB-cpABm-ARCH.whl (Kivy_examples-X.Y.Z.dev0-py2.py3-none-any.whl)
# archive: Kivy-X.Y.Z.dev0.YYYYMMDD.githash-cpAB-cpABm-ARCH.whl (Kivy_examples-X.Y.Z.dev0.YYYYMMDD.githash-py2.py3-none-any.whl)
$WHEEL_DATE = python -c " from datetime import datetime;print(datetime.utcnow().strftime('%Y%m%d')) "
echo " Wheel date is: $WHEEL_DATE "
$GIT_TAG = git rev-parse - -short HEAD
echo " Git tag is: $GIT_TAG "
2019-12-28 05:22:00 +00:00
raise-only -error -Func { python -c " import kivy " - -config " kivy:log_level:error " }
2019-11-29 15:00:31 +00:00
$WHEEL_VERSION = python -c " import kivy;print(kivy.__version__) " - -config " kivy:log_level:error "
echo " Kivy version is: $WHEEL_VERSION "
$TAG_NAME = python -c " import kivy; _, tag, n = kivy.parse_kivy_version(kivy.__version__); print(tag + n) if n is not None else print(tag or 'something') " - -config " kivy:log_level:error "
echo " Tag is: $TAG_NAME "
$WHEEL_NAME = " $TAG_NAME . $WHEEL_DATE ` . $GIT_TAG - "
echo " New wheel name is: $WHEEL_NAME "
$files = Get-ChildItem dist * . whl -Name
foreach ( $WHEEL_DEFAULT in $files ) {
$WHEEL_NIGHTLY = $WHEEL_DEFAULT . Replace ( " $TAG_NAME - " , $WHEEL_NAME )
echo " Copying from default $WHEEL_DEFAULT to nightly $WHEEL_NIGHTLY "
Copy-Item " dist\ $WHEEL_DEFAULT " " dist\ $WHEEL_NIGHTLY "
}
}
function Upload-windows-wheels-to-server($ip ) {
echo " Uploading Kivy*: "
dir dist
C: \ tools \ msys64 \ usr \ bin \ bash - -login -c " .ci/windows-server-upload.sh $ip dist 'Kivy*' ci/win/kivy/ "
}
function Install-kivy-test-run-win-deps {
}
function Install-kivy-test-run-pip-deps {
2019-12-28 05:22:00 +00:00
python -m pip install pip wheel setuptools - -upgrade
2019-11-29 15:00:31 +00:00
# workaround for https://github.com/pyinstaller/pyinstaller/issues/4265 until next release
2019-12-29 03:54:51 +00:00
python -m pip install https : / / github . com / pyinstaller / pyinstaller / archive / develop . zip twine
2019-11-29 15:00:31 +00:00
}
function Install-kivy {
$old = ( pwd ) . Path
cmd / c mklink / d " $HOME \kivy " " $old "
cd " $HOME \kivy "
2019-12-06 03:10:23 +00:00
python -m pip install -e . [ dev,full ]
2019-11-29 15:00:31 +00:00
cd " $old "
}
2019-12-28 05:22:00 +00:00
function Install-kivy-wheel {
$root = ( pwd ) . Path
cd " $HOME "
python -m pip install pip wheel setuptools - -upgrade
# workaround for https://github.com/pyinstaller/pyinstaller/issues/4265 until next release
python -m pip install https : / / github . com / pyinstaller / pyinstaller / archive / develop . zip
$version = python -c " import sys; print('{}{}'.format(sys.version_info.major, sys.version_info.minor)) "
$kivy_fname = ( ls $root / dist / Kivy - * $version * win_amd64 * . whl | Sort-Object -property @ { Expression = { $_ . name . tostring ( ) . Length } } | Select-Object -First 1 ) . name
$kivy_examples_fname = ( ls $root / dist / Kivy_examples - * . whl | Sort-Object -property @ { Expression = { $_ . name . tostring ( ) . Length } } | Select-Object -First 1 ) . name
python -m pip install " $root /dist/ $kivy_fname [full,dev] " " $root /dist/ $kivy_examples_fname "
}
function Install-kivy-sdist {
$root = ( pwd ) . Path
cd " $HOME "
python -m pip install pip wheel setuptools - -upgrade
# workaround for https://github.com/pyinstaller/pyinstaller/issues/4265 until next release
python -m pip install https : / / github . com / pyinstaller / pyinstaller / archive / develop . zip
$kivy_fname = ( ls $root / dist / Kivy - * . tar . gz ) . name
python -m pip install " $root /dist/ $kivy_fname [full,dev] "
}
2019-11-29 15:00:31 +00:00
function Test-kivy {
python -m pytest - -cov = kivy - -cov -report term - -cov -branch " $( pwd ) /kivy/tests "
}
2019-12-28 05:22:00 +00:00
function Test-kivy-installed {
cd " $HOME "
python -c 'import kivy'
$test_path = python -c 'import kivy.tests as tests; print(tests.__path__[0])' - -config " kivy:log_level:error "
cd " $test_path "
echo " [run] `n plugins = kivy.tools.coverage `n " > . coveragerc
raise-only -error -Func { python -m pytest . }
}