Go to file
jetchirag b015368fee
Integration Tests for Borg (#1716)
Move existing tests into subfolder `tests/unit`. Write integration tests that actually run the installed borg executable. Those tests can be found in `tests/integration`.  Those pytest fixtures that are the same for both kinds of tests remain in `tests/conftest.py`. The others can be found in `tests/integration/conftest.py` or `tests/unit/conftest.py`. This adds nox to the project and configures it to run the tests with different borg versions. This also updates the ci workflow to run the integration tests using nox.

* noxfile.py : Run pytest with a matrix of borg versions OR a specific borg version

* Makefile : Run using nox. Add phonies `test-unit` and `test-integration`.

* tests/conftest.py : Move some fixtures/functions to `tests/unit/conftest.py`.

* tests/test_*.py --> tests/unit/ : Move unittests and assets into subfolder

* tests/integration/ : Write integration tests.

* requirements.d/dev.txt: Add `nox` and `pkgconfig`. The latter is needed for installing new borg versions.

* .github/actions/setup/action.yml : Update to install pre-commit and nox when needed. The action now no longer installs Vorta.

* .github/actions/install-dependencies/action.yml : Install system deps of borg with this new composite action.

* .github/workflows/test.yml : Rename `test` ci to `test-unit` and update it for the new test setup.
                                              Implement `test-integration` ci.

Signed-off-by: Chirag Aggarwal <thechiragaggarwal@gmail.com>
2023-08-05 13:49:45 +00:00
.github Integration Tests for Borg (#1716) 2023-08-05 13:49:45 +00:00
.tx Run pre-commit (with newly added ruff) on code base. 2023-05-01 10:28:11 +02:00
bin pyinstaller / vorta.spec: make platform independent (#122) 2019-01-13 10:03:00 +08:00
package PyQt6 Upgrade (#1685) 2023-04-17 11:17:01 +01:00
requirements.d Integration Tests for Borg (#1716) 2023-08-05 13:49:45 +00:00
src/vorta Introduced password input widget (#1662) 2023-07-28 07:39:10 +00:00
tests Integration Tests for Borg (#1716) 2023-08-05 13:49:45 +00:00
.editorconfig ci: Add ruff including print checks 2023-05-01 10:25:14 +02:00
.git-blame-ignore-revs Add re-format with ruff to `.git-blame-ignore.revs`. 2023-05-01 10:30:01 +02:00
.gitattributes Run hooks on the code base. 2022-08-16 18:20:34 +02:00
.gitignore Add a dev mode that allows for local storing of config files and logs (#1682) 2023-05-30 10:43:20 +00:00
.pre-commit-config.yaml ci: Add ruff including print checks 2023-05-01 10:25:14 +02:00
CONTRIBUTORS.md Add Bastien to contributors (#1148) 2021-12-28 08:59:42 +04:00
LICENSE.txt Add CONTRIBUTORS file and copyright note. Fixes #403 (#404) 2020-02-27 20:54:44 +08:00
MANIFEST.in Remove unused setuptools-git dependency (#1147) 2021-12-24 14:16:52 +04:00
Makefile Integration Tests for Borg (#1716) 2023-08-05 13:49:45 +00:00
README.md Update GSoC notice in README (#1739) 2023-06-27 09:30:41 +00:00
codecov.yml Disable codecov comments (#904) 2021-03-01 15:45:56 +08:00
noxfile.py Integration Tests for Borg (#1716) 2023-08-05 13:49:45 +00:00
pyproject.toml ci: Add ruff including print checks 2023-05-01 10:25:14 +02:00
setup.cfg ci: Add ruff including print checks 2023-05-01 10:25:14 +02:00
setup.py Remove unused setuptools-git dependency (#1147) 2021-12-24 14:16:52 +04:00

README.md

Vorta Backup Client Logo

GitHub all releases Flathub Github License pypi homebrew cask Flathub pre-commit Code style: black

Vorta is a backup client for macOS and Linux desktops. It integrates the mighty BorgBackup with your desktop environment to protect your data from disk failure, ransomware and theft.

Why is this great? 🤩

  • Encrypted, deduplicated and compressed backups using Borg as backend.
  • No vendor lock-in  back up to local drives, your own server or BorgBase, a hosting service for Borg backups.
  • Open source  free to use, modify, improve and audit.
  • Flexible profiles to group source folders, backup destinations and schedules.
  • One place to view all point-in-time archives and restore individual files.

Learn more on Vorta's website.

Installation

Vorta should work on all platforms that support Qt and Borg. This includes macOS, Ubuntu, Debian, Fedora, Arch Linux and many others. Windows is currently not supported by Borg, but this may change in the future.

See our website for download links and and install instructions.

Connect and Contribute

  • To discuss everything around using, improving, packaging and translating Vorta, join the discussion on Github.
  • Report bugs by opening a new Github issue.
  • Want to contribute to Vorta? Great! See our contributor guide on how to help out with coding, translation and packaging.
  • We currently have students from the Google Summer Of Code 2023 Program contributing to this project.

License and Credits