mirror of https://github.com/borgbase/vorta
Compare commits
4 Commits
816c75ab83
...
9a1242f06e
Author | SHA1 | Date |
---|---|---|
Shivansh Singh | 9a1242f06e | |
Manu | 9cabbbd193 | |
Aryaman Sharma | 3268bf1599 | |
shivansh02 | fe4cc4a9f3 |
|
@ -3,17 +3,21 @@ on:
|
|||
workflow_dispatch:
|
||||
inputs:
|
||||
branch:
|
||||
description: 'Branch to use for building macOS release'
|
||||
description: 'Branch to use for building release'
|
||||
required: true
|
||||
default: 'master'
|
||||
borg_version:
|
||||
description: 'Borg version to package'
|
||||
required: true
|
||||
default: '1.2.1'
|
||||
default: '1.2.8'
|
||||
macos_version:
|
||||
description: 'macOS version for building'
|
||||
required: true
|
||||
default: 'macos-11'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-11
|
||||
runs-on: ${{ github.event.inputs.macos_version }}
|
||||
|
||||
steps:
|
||||
- name: Check out selected branch
|
||||
|
|
|
@ -1,10 +1,15 @@
|
|||
from vorta.store.models import RepoModel
|
||||
from vorta.borg.compact import BorgCompactJob
|
||||
from vorta.store.models import BackupProfileModel, RepoModel
|
||||
from vorta.utils import borg_compat, format_archive_name
|
||||
|
||||
from .borg_job import BorgJob
|
||||
|
||||
|
||||
class BorgPruneJob(BorgJob):
|
||||
def _set_status(self, text):
|
||||
self.mountErrors.setText(text)
|
||||
self.mountErrors.repaint()
|
||||
|
||||
def started_event(self):
|
||||
self.app.backup_started_event.emit()
|
||||
self.app.backup_progress_event.emit(f"[{self.params['profile_name']}] {self.tr('Pruning old archives…')}")
|
||||
|
@ -22,6 +27,17 @@ class BorgPruneJob(BorgJob):
|
|||
self.result.emit(result)
|
||||
self.app.backup_progress_event.emit(f"[{self.params['profile_name']}] {self.tr('Pruning done.')}")
|
||||
|
||||
# run compact if borg>=1.2
|
||||
if borg_compat.check("COMPACT_SUBCOMMAND"):
|
||||
profile = BackupProfileModel.get(id=self.params['profile_id'])
|
||||
params = BorgCompactJob.prepare(profile)
|
||||
if params['ok']:
|
||||
job = BorgCompactJob(params['cmd'], params, profile.repo.id)
|
||||
job.updated.connect(self._set_status)
|
||||
self.app.jobs_manager.add_job(job)
|
||||
else:
|
||||
self._set_status(params['message'])
|
||||
|
||||
@classmethod
|
||||
def prepare(cls, profile):
|
||||
ret = super().prepare(profile)
|
||||
|
|
|
@ -459,6 +459,7 @@ class VortaScheduler(QtCore.QObject):
|
|||
Pruning and checking after successful backup.
|
||||
"""
|
||||
profile = BackupProfileModel.get(id=profile_id)
|
||||
notifier = VortaNotifications.pick()
|
||||
logger.info('Doing post-backup jobs for %s', profile.name)
|
||||
if profile.prune_on:
|
||||
msg = BorgPruneJob.prepare(profile)
|
||||
|
@ -489,6 +490,11 @@ class VortaScheduler(QtCore.QObject):
|
|||
self.app.jobs_manager.add_job(job)
|
||||
|
||||
logger.info('Finished background task for profile %s', profile.name)
|
||||
notifier.deliver(
|
||||
self.tr('Vorta Backup'),
|
||||
self.tr('Post Backup Tasks successful for %s' % profile.name),
|
||||
level='info',
|
||||
)
|
||||
|
||||
def remove_job(self, profile_id):
|
||||
if profile_id in self.timers:
|
||||
|
|
Loading…
Reference in New Issue