log.info("Creating build for %s from %s" % (self, build))
try:
- # Create a new temporary space for the
- async with self.backend.tempdir() as target:
- # Create a new source package
- file = await self._update_source_package(build.pkg, target)
+ # Create a new source package
+ archive = await self._update_source_package(build.pkg)
- if file:
- # Create a new repository
- repo = await self.backend.repos.create(
- self.monitoring.distro, "Test Build for %s" % self, owner=owner)
+ if archive:
+ # Create a new repository
+ repo = await self.backend.repos.create(
+ self.monitoring.distro, "Test Build for %s" % self, owner=owner)
- # Upload the file
- upload = await self.backend.uploads.create_from_local(file)
+ # Upload the file
+ upload = await self.backend.uploads.create_from_local(
+ archive.path, filename=archive.filename)
- try:
- # Create a package
- package = await self.backend.packages.create(upload)
+ try:
+ # Create a package
+ package = await self.backend.packages.create(upload)
- # Create the build
- build = await self.backend.builds.create(repo, package, owner=owner)
+ # Create the build
+ build = await self.backend.builds.create(repo, package, owner=owner)
- finally:
- await upload.delete()
+ finally:
+ await upload.delete()
# If anything went wrong, then remove the repository
except Exception as e:
# Launch the build
await self.backend.builds.launch([build])
- async def _update_source_package(self, package, target):
+ async def _update_source_package(self, package):
"""
Takes a package and recreates it with this release
"""