diff --git a/semantic_release/cli.py b/semantic_release/cli.py index 2846dbe04..86df2fff2 100644 --- a/semantic_release/cli.py +++ b/semantic_release/cli.py @@ -116,7 +116,10 @@ def publish(**kwargs): ) if config.getboolean('semantic_release', 'upload_to_pypi'): - upload_to_pypi() + upload_to_pypi( + username=os.environ.get('PYPI_USERNAME'), + password=os.environ.get('PYPI_PASSWORD'), + ) if check_token(): click.echo('Updating changelog') diff --git a/semantic_release/pypi.py b/semantic_release/pypi.py index 234c51688..f228a6627 100644 --- a/semantic_release/pypi.py +++ b/semantic_release/pypi.py @@ -2,13 +2,21 @@ from twine.commands import upload as twine_upload -def upload_to_pypi(dists='sdist bdist_wheel'): +def upload_to_pypi(dists='sdist bdist_wheel', username=None, password=None): """ Creates the wheel and uploads to pypi with twine. :param dists: The dists string passed to setup.py. Default: 'bdist_wheel' """ run('python setup.py {}'.format(dists)) - twine_upload.upload(dists=['dist/*'], repository='pypi', sign=False, identity=None, - username=None, password=None, comment=None, sign_with='gpg') + twine_upload.upload( + dists=['dist/*'], + repository='pypi', + sign=False, + identity=None, + username=username, + password=password, + comment=None, + sign_with='gpg' + ) run('rm -rf build dist')