If the build succeeds, the new version of the package is uploaded to
the apt repository, tagged in its git repository, and the Invirt
-superrepo is updated to point at the new version.
+superproject is updated to point at the new version.
If the build fails, the Invirtibuilder sends mail with the build log.
changes])
-def updateSuperrepo(pocket, package, commit, principal):
- """Update the superrepo.
+def updateSuperproject(pocket, package, commit, principal):
+ """Update the superproject.
This will create a new commit on the branch for the given pocket
that sets the commit for the package submodule to commit.
Note that there's no locking issue here, because we disallow all
- pushes to the superrepo.
+ pushes to the superproject.
"""
- superrepo = os.path.join(b._REPO_DIR, 'invirt/packages.git')
+ superproject = os.path.join(b._REPO_DIR, 'invirt/packages.git')
branch = b.pocketToGit(pocket)
tree = c.captureOutput(['git', 'ls-tree', branch],
- cwd=superrepo)
+ cwd=superproject)
new_tree = re.compile(
r'^(160000 commit )[0-9a-f]*(\t%s)$' % package, re.M).sub(
tree)
new_tree_id = c.captureOutput(['git', 'mktree'],
- cwd=superrepo,
+ cwd=superproject,
stdin_str=new_tree)
commit_msg = ('Update %s to version %s\n\n'
principal))
new_commit = c.captureOutput(
['git', 'commit-tree', new_tree_hash, '-p', branch],
- cwd=superrepo,
+ cwd=superproject,
env=env,
stdin_str=commit_msg)
c.captureOutput(
['git', 'update-ref', 'refs/heads/%s' % branch, new_commit],
- cwd=superrepo)
+ cwd=superproject)
@contextlib.contextmanager
tagSubmodule(pocket, package, commit, principal)
db.failed_stage = 'updating submodule branches'
updateSubmoduleBranch(pocket, package, commit)
- db.failed_stage = 'updating superrepo'
- updateSuperrepo(pocket, package, commit, principal)
+ db.failed_stage = 'updating superproject'
+ updateSuperproject(pocket, package, commit, principal)
db.failed_stage = 'uploading packages to apt repo'
uploadBuild(pocket, workdir)