# AppVeyor.com is a Continuous Integration service to build and run tests under # Windows environment: matrix: - PYTHON: C:\Python37 - PYTHON: C:\Python37-x64 - PYTHON: C:\Python38 - PYTHON: C:\Python38-x64 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 PYTHON: C:\Python39 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 PYTHON: C:\Python39-x64 # build pre release packages on Python 3.8 since it has been out long # enough for wheels to be built for packages that need to be compiled. - PYTHON: C:\Python38-x64 PIP_FLAGS: --pre matrix: fast_finish: true install: - ECHO "Filesystem root:" - ps: "ls \"C:/\"" # 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 is problematic because it tends to cancel builds pushed # directly to master instead of just PR builds. # 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." } - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" - "python -m pip install -U pip" # Check that we have the expected version and architecture for Python - "python --version" - "python -c \"import struct; print(struct.calcsize('P') * 8)\"" - "pip --version" # Install the build and runtime dependencies of the project. - pip install %PIP_FLAGS% -r requirements/default.txt - pip install %PIP_FLAGS% -r requirements/build.txt - python setup.py bdist_wheel bdist_wininst - ps: "ls dist" # Install the generated wheel package to test it. - pip install %PIP_FLAGS% --no-index --find-links dist/ scikit-image # Install the test dependencies - pip install %PIP_FLAGS% -r requirements/test.txt # Not a .NET project, we build scikit-image in the install step instead build: false test_script: ## Build the docs #- pip install sphinx pytest-runner sphinx-gallery #- SET PYTHON=%PYTHON%\\python.exe && cd doc && make html # Change to a non-source folder to make sure we run the tests on the # installed library. - "cd C:\\" # Use the Agg backend in Matplotlib - echo backend:Agg > matplotlibrc # Run unit tests with pytest - pytest -v --pyargs skimage #artifacts: # # Archive the generated wheel package in the ci.appveyor.com build report. # - path: dist\* #on_success: # - TODO: upload the content of dist/*.whl to a public wheelhouse cache: # Avoid re-downloading large packages - '%APPDATA%\pip\Cache'