# Do not build feature branch with open Pull Requests skip_branch_with_pr: true # environment variables environment: nodejs_version: "6.9" matrix: - PYTHON: "C:\\Python35-x64" PYTHON_VERSION: "3.5.x" PYTHON_MAJOR: 3 PYTHON_ARCH: "64" # build cache to preserve files/folders between builds cache: - '%LOCALAPPDATA%\\Yarn' # yarn cache # scripts that run after cloning repository 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." } # Install node: - ps: Install-Product node $env:nodejs_version # Install newer Firefox - choco install firefox # Ensure python and python scripts are from right version: - 'SET "PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"' # Install our package: - 'pip install --upgrade -e ".[test]"' - 'jlpm versions' - 'jlpm config current' - 'jlpm cache list' - 'jlpm install' - 'jlpm run build:main' - 'jupyter lab build' build: off # to run your custom scripts instead of automatic tests test_script: # Run integrity first we we see the message. - 'jlpm run integrity' - 'py.test' - 'git status' - 'jlpm run build' - 'jlpm run build:test' - 'jlpm test || jlpm test || jlpm test' - 'python -m jupyterlab.selenium_check'