diff --git a/.appveyor.yml b/.appveyor.yml index 4562e1d2..55c87f90 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -83,4 +83,6 @@ artifacts: - path: "*.whl" deploy_script: - - "%PYTHON_DEF%\\python.exe ci/appveyor/pypi_upload.py *.whl" + # Calling twine requires we set path + - "SET PATH=%PYTHON_DEF%;%PYTHON_DEF%\\Scripts;%PATH%" + - python ci/appveyor/pypi_upload.py *.whl diff --git a/Changelog.rst b/Changelog.rst index c372b394..4c109c23 100644 --- a/Changelog.rst +++ b/Changelog.rst @@ -17,6 +17,7 @@ Changes * Added function for setting GSS-API credentials delegation option to session. * Updated error handling for all user authentication session functions to raise specific authentication errors. +* `ssh.Key.import_privkey_*` now defaults to empty passphrase. 0.5.0 diff --git a/ci/appveyor/pypi_upload.py b/ci/appveyor/pypi_upload.py index b44ce4b6..1537b3c4 100644 --- a/ci/appveyor/pypi_upload.py +++ b/ci/appveyor/pypi_upload.py @@ -4,16 +4,19 @@ def upload_pypi(files): - repo_tag = os.environ['APPVEYOR_REPO_TAG'] + repo_tag = os.environ.get('APPVEYOR_REPO_TAG', 'false') if repo_tag == 'false': sys.stderr.write("Not a tagged release, skipping upload" + os.linesep) return - _user, _pass = os.environ['PYPI_USER'], os.environ['PYPI_PASS'] - try: - subprocess.check_call(['twine', 'upload', '-u', _user, - '-p', _pass, files]) - except Exception: + _user, _pass = os.environ.get('PYPI_USER'), os.environ.get('PYPI_PASS') + if not _user or not _pass: + sys.stderr.write("No PyPi credentials set" + os.linesep) + sys.exit(1) + proc = subprocess.run(['twine', 'upload', '-u', _user, + '-p', _pass, files]) + if proc.returncode: sys.stderr.write("Error uploading to PyPi" + os.linesep) + sys.exit(1) if __name__ == "__main__":