mirror of https://github.com/docker/compose.git
Add pypirc check
Signed-off-by: Joffrey F <joffrey@docker.com>
This commit is contained in:
parent
e722190d50
commit
51d44c7ebc
|
@ -17,6 +17,8 @@ from release.const import NAME
|
|||
from release.const import REPO_ROOT
|
||||
from release.downloader import BinaryDownloader
|
||||
from release.images import ImageManager
|
||||
from release.pypi import check_pypirc
|
||||
from release.pypi import pypi_upload
|
||||
from release.repository import delete_assets
|
||||
from release.repository import get_contributors
|
||||
from release.repository import Repository
|
||||
|
@ -28,8 +30,6 @@ from release.utils import ScriptError
|
|||
from release.utils import update_init_py_version
|
||||
from release.utils import update_run_sh_version
|
||||
from release.utils import yesno
|
||||
from requests.exceptions import HTTPError
|
||||
from twine.commands.upload import main as twine_upload
|
||||
|
||||
|
||||
def create_initial_branch(repository, args):
|
||||
|
@ -170,25 +170,6 @@ def distclean():
|
|||
shutil.rmtree(folder, ignore_errors=True)
|
||||
|
||||
|
||||
def pypi_upload(args):
|
||||
print('Uploading to PyPi')
|
||||
try:
|
||||
rel = args.release.replace('-rc', 'rc')
|
||||
twine_upload([
|
||||
'dist/docker_compose-{}*.whl'.format(rel),
|
||||
'dist/docker-compose-{}*.tar.gz'.format(rel)
|
||||
])
|
||||
except HTTPError as e:
|
||||
if e.response.status_code == 400 and 'File already exists' in e.message:
|
||||
if not args.finalize_resume:
|
||||
raise ScriptError(
|
||||
'Package already uploaded on PyPi.'
|
||||
)
|
||||
print('Skipping PyPi upload - package already uploaded')
|
||||
else:
|
||||
raise ScriptError('Unexpected HTTP error uploading package to PyPi: {}'.format(e))
|
||||
|
||||
|
||||
def resume(args):
|
||||
try:
|
||||
distclean()
|
||||
|
@ -277,6 +258,7 @@ def start(args):
|
|||
def finalize(args):
|
||||
distclean()
|
||||
try:
|
||||
check_pypirc()
|
||||
repository = Repository(REPO_ROOT, args.repo)
|
||||
img_manager = ImageManager(args.release)
|
||||
pr_data = repository.find_release_pr(args.release)
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
from __future__ import absolute_import
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from configparser import Error
|
||||
from requests.exceptions import HTTPError
|
||||
from twine.commands.upload import main as twine_upload
|
||||
from twine.utils import get_config
|
||||
|
||||
from .utils import ScriptError
|
||||
|
||||
|
||||
def pypi_upload(args):
|
||||
print('Uploading to PyPi')
|
||||
try:
|
||||
rel = args.release.replace('-rc', 'rc')
|
||||
twine_upload([
|
||||
'dist/docker_compose-{}*.whl'.format(rel),
|
||||
'dist/docker-compose-{}*.tar.gz'.format(rel)
|
||||
])
|
||||
except HTTPError as e:
|
||||
if e.response.status_code == 400 and 'File already exists' in e.message:
|
||||
if not args.finalize_resume:
|
||||
raise ScriptError(
|
||||
'Package already uploaded on PyPi.'
|
||||
)
|
||||
print('Skipping PyPi upload - package already uploaded')
|
||||
else:
|
||||
raise ScriptError('Unexpected HTTP error uploading package to PyPi: {}'.format(e))
|
||||
|
||||
|
||||
def check_pypirc():
|
||||
try:
|
||||
config = get_config()
|
||||
except Error as e:
|
||||
raise ScriptError('Failed to parse .pypirc file: {}'.format(e))
|
||||
|
||||
if config is None:
|
||||
raise ScriptError('Failed to parse .pypirc file')
|
||||
|
||||
if 'pypi' not in config:
|
||||
raise ScriptError('Missing [pypi] section in .pypirc file')
|
||||
|
||||
if not (config['pypi'].get('username') and config['pypi'].get('password')):
|
||||
raise ScriptError('Missing login/password pair for pypi repo')
|
Loading…
Reference in New Issue