# adapted from https://packaging.python.org/en/latest/appveyor/ environment: matrix: # For Python versions available on Appveyor, see # http://www.appveyor.com/docs/installed-software#python - PYTHON: "C:\\Python27" - PYTHON: "C:\\Python27-x64" # DISTUTILS_USE_SDK: "1" # TOX_TESTENV_PASSENV: "DISTUTILS_USE_SDK INCLUDE LIB" install: - | %PYTHON%\python.exe -m pip install -U pip %PYTHON%\python.exe -m pip install wheel tox==3.9.0 virtualenv # note: # %PYTHON% has: python.exe # %PYTHON%\Scripts has: pip.exe, tox.exe (and others installed by bare pip) # We have a custom "build" system. We don't need MSBuild or whatever. build: off # Do not build feature branch with open pull requests. This is documented but # it's not clear it does anything. skip_branch_with_pr: true # This, perhaps, is effective. branches: # whitelist only: - 'master' skip_commits: files: # The Windows builds are unaffected by news fragments. - 'newsfragments/*' # Also, all this build junk. - '.circleci/*' - '.lgtm.yml' - '.travis.yml' # we run from C:\projects\tahoe-lafs test_script: # Put your test command here. # 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 version you want to use on PATH. - | %PYTHON%\Scripts\tox.exe -e coverage %PYTHON%\Scripts\tox.exe -e pyinstaller # To verify that the resultant PyInstaller-generated binary executes # cleanly (i.e., that it terminates with an exit code of 0 and isn't # failing due to import/packaging-related errors, etc.). - dist\Tahoe-LAFS\tahoe.exe --version after_test: # This builds the main tahoe wheel, and wheels for all dependencies. # 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. If _trial_temp still exists, the "pip wheel" fails on # _trial_temp\local_dir (not sure why). - | copy _trial_temp\test.log trial_test_log.txt rd /s /q _trial_temp %PYTHON%\python.exe setup.py bdist_wheel %PYTHON%\python.exe -m pip wheel -w dist . - | %PYTHON%\python.exe -m pip install codecov "coverage ~= 4.5" %PYTHON%\python.exe -m coverage xml -o coverage.xml -i %PYTHON%\python.exe -m codecov -X search -X gcov -f coverage.xml artifacts: # bdist_wheel puts your built wheel in the dist directory # "pip wheel -w dist ." puts all the dependency wheels there too # this gives us a zipfile with everything - path: 'dist\*' - path: trial_test_log.txt name: Trial test.log - path: eliot.log name: Eliot test log on_failure: # Artifacts are not normally uploaded when the job fails. To get the test # logs, we have to push them ourselves. - ps: Push-AppveyorArtifact _trial_temp\test.log -Filename trial.log - ps: Push-AppveyorArtifact eliot.log -Filename eliot.log #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.