added tag saving

master 3.7.2.6
idziubenko 2 years ago
parent d5cee2c0f8
commit e3d77362ee

@ -2220,3 +2220,23 @@ class Builder(Update):
except OSError as e:
# raise BuilderError(_("Failed to find /etc/machine-id"))
return False
def set_current_saved_tag(self):
#TODO add to var?
repname = "calculate"
dv = self.clVars.Get('cl_builder_linux_datavars')
git = self.getGit()
rpath, revision = (
dv.Select(["cl_update_rep_path",
"cl_update_rep_rev"],
where="cl_update_rep_name",
eq=repname, limit=1))
try:
branch_name = self.clVars.Select(["cl_builder_branch_name"],
where="cl_builder_branch_rep", eq=repname, limit=1)[0]
tag = git.getCurrentTag(rpath)
if branch_name == Git.Reference.Tag and tag.isdigit():
self.clVars.Write("cl_update_saved_tag", str(tag), location="system")
return True
except ValueError as e:
return False

@ -330,6 +330,13 @@ class ClBuilderUpdateAction(Action):
{'name': 'update_other:check_obsolete',
'method': 'Builder.check_obsolete(cl_builder_path)'
},
{'name': 'update_world:set_latest_tag',
'method': 'Builder.set_current_saved_tag()',
'depend': (Tasks.success() & Tasks.hasnot("interrupt") &
Tasks.hasnot("check_schedule")),
'condition': lambda Get: Get('update.cl_update_sync_only_set') == 'off' and
Get('update.cl_update_pretend_set') == 'off'
},
] + [
{'name': 'failed',
'error': __("Failed to update the system"),

Loading…
Cancel
Save