Extract the top level zipball subdir from the zip file.
This commit is contained in:
parent
b094480164
commit
b23a7ed130
1 changed files with 6 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
|||
import logging
|
||||
import io
|
||||
import os.path
|
||||
import zipfile
|
||||
|
||||
from github import Github, UnknownObjectException, GithubException
|
||||
from tempfile import SpooledTemporaryFile
|
||||
|
@ -228,10 +229,15 @@ class GithubBuildTrigger(BuildTrigger):
|
|||
archive_link = repo.get_archive_link('zipball', short_sha)
|
||||
download_archive = client.get(archive_link, stream=True)
|
||||
|
||||
zipball_subdir = ''
|
||||
with SpooledTemporaryFile(CHUNK_SIZE) as zipball:
|
||||
for chunk in download_archive.iter_content(CHUNK_SIZE):
|
||||
zipball.write(chunk)
|
||||
|
||||
# Pull out the name of the subdir that GitHub generated
|
||||
with zipfile.ZipFile(zipball) as archive:
|
||||
zipball_subdir = archive.namelist()[0]
|
||||
|
||||
dockerfile_id = user_files.store_file(zipball, ZIPBALL)
|
||||
|
||||
logger.debug('Successfully prepared job')
|
||||
|
@ -245,7 +251,6 @@ class GithubBuildTrigger(BuildTrigger):
|
|||
|
||||
# compute the subdir
|
||||
repo_subdir = config['subdir']
|
||||
zipball_subdir = '%s-%s-%s' % (repo.owner.login, repo.name, short_sha)
|
||||
joined_subdir = os.path.join(zipball_subdir, repo_subdir)
|
||||
logger.debug('Final subdir: %s' % joined_subdir)
|
||||
|
||||
|
|
Reference in a new issue