Skip to content

Instantly share code, notes, and snippets.

@adam-stokes
Created February 8, 2019 16:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adam-stokes/cd690753b96bcba198c3d94ac592cc86 to your computer and use it in GitHub Desktop.
Save adam-stokes/cd690753b96bcba198c3d94ac592cc86 to your computer and use it in GitHub Desktop.
def create_or_update_snap_builder(self, name, owner, version, repo, branch, track):
""" Creates a new LP builder for snap with a specific git branch to build from
"""
lp_snap_name = f'{name}-{version}'
lp_snap_project_name = f'snap-{name}'
lp_owner = self.owner(owner)
if not isinstance(track, list):
track = [track]
try:
_current_working_snap = self.snaps.getByName(name=lp_snap_name, owner=lp_owner)
_current_working_snap.git_path = branch
_current_working_snap.auto_build = True
_current_working_snap.auto_build_pocket= 'Updates'
_current_working_snap.auto_build_archive = self.archive()
_current_working_snap.store_upload = True
_current_working_snap.store_name = name
_current_working_snap.store_series = self.snappy_series()
_current_working_snap.store_channels = track
import ipdb;ipdb.set_trace()
secret = _current_working_snap.beginAuthorization()
_current_working_snap.completeAuthorization(discharge_macaroon=json.loads(secret))
_current_working_snap.lp_save()
except NotFound:
snap = self.snaps.new(
name=lp_snap_name,
owner=lp_owner,
distro_series=self.distro_series(),
git_repository=self.snap_git_repo(lp_owner, lp_snap_project_name),
git_path=branch,
store_upload=True,
store_name=name,
store_series=self.snappy_series(),
store_channels=track,
processors=['/+processors/amd64',
'/+processors/s390x',
'/+processors/ppc64el',
'/+processors/arm64'],
auto_build=True,
auto_build_pocket='Updates',
auto_build_archive=self.archive()
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment