Commit Graph
229 Commits
Author SHA1 Message Date
Dan Helfman ea0ed8345a Performance: Switch browse action to list archive files only once per archive. 2026-05-25 16:27:36 -07:00
Dan Helfman 4b8a6d1a34 More browse tests. 2026-05-24 19:22:50 -07:00
Dan Helfman 220c76b3c0 Formatting. 2026-05-22 13:37:24 -07:00
Dan Helfman 9aea0b1d90 Fix broken tests. 2026-05-22 12:19:34 -07:00
Dan Helfman c4170bb126 Several browse action unit and integration tests. 2026-05-21 23:23:19 -07:00
Dan Helfman 596d59ef60 Fix a race condition in which borgmatic sometimes swallows Borg error output without logging it (#1256). 2026-05-12 15:28:31 -07:00
Sirio Balmelli 0b34ef0e1a tests: use pytest tmp_path fixture instead of hardcoded /tmp paths
tmp_path is a built-in pytest fixture providing a unique per-test tempdir.

Hardcoded /tmp paths break when multiple builders run tests concurrently
(e.g. Nix parallel builds): leftover or colliding files cause spurious failures.

Signed-off-by: Sirio Balmelli <sirio@b-ad.ch>
2026-04-15 16:35:41 +02:00
Maxime Hamon edfa708fa3 Add mTLS support for Loki monitoring hook 2026-04-12 17:57:01 +02:00
Dan Helfman aee16e32e2 Fix a regression in which SSH warnings from remote repositories broke the "spot" check (#1294). 2026-04-10 20:28:14 -07:00
Dan Helfman 9db2bb2b54 Improve performance of the "info" and "repo-list" actions by eliminating a second "borg info" call that supports a "no matching archives" warning (#1264). 2026-04-03 20:57:25 -07:00
Dan Helfman 26b3a03721 Fix for the Loki monitoring hook not respecting the monitoring verbosity (#1257). 2026-03-30 11:13:55 -07:00
Dan Helfman ec25a40ddc Fix a unicode error when backing up a non-UTF-8 source filename with a corresponding system locale (#1281). 2026-03-06 10:06:39 -08:00
Dan Helfman e693e42b9e Minor Python modernization fixes. 2026-03-02 20:47:11 -08:00
Dan Helfman d532fc0f88 Add a "config show" action to display computed borgmatic configuration as YAML or JSON (#1218). 2026-02-14 21:30:53 -08:00
Dan Helfman a27dc95c87 Fix a "codec can't decode byte" error when running commands that output multi-byte unicode characters (#1258). 2026-02-01 20:15:03 -08:00
Dan Helfman 104fe35e39 Add another test to get some additional coverage that's timing dependent (#1242). 2026-01-23 23:04:15 -08:00
Dan Helfman 248fa1db64 Add automated tests for new code (#1242). 2026-01-23 22:50:37 -08:00
Dan Helfman 765eba5315 Get existing unit/integration tests passing (#1242). 2026-01-22 17:29:30 -08:00
Dan Helfman d5cd4efecd Fix spot check hang (#1242). 2026-01-22 10:27:47 -08:00
Dan Helfman 5cb2af4683 Disable Loki buffering when log sending is disabled, and fix monitoring end-to-end tests (#1132). 2026-01-10 11:59:01 -08:00
Dan Helfman 774436817a BREAKING/SECURITY: For the Healthchecks, Apprise, Pagerduty, and Loki monitoring hooks, disable log sending when not explicitly enabled (#1132). 2026-01-09 22:25:50 -08:00
Dan Helfman 6407b3bd80 Fix existing tests (#1225). 2026-01-07 19:58:25 -08:00
Dan Helfman aa6b6e0d96 Fix many tests (#1225). 2026-01-06 22:32:42 -08:00
Dan Helfman b0e083eff2 BREAKING: Support disabling both constant and variable interpolation by escaping with backslashes (#1213). 2026-01-05 15:39:14 -08:00
Dan Helfman 0f3234d681 Cleanup snapshots immediately after ZFS, LVM, or Btrfs hooks error (#1220). 2026-01-03 22:22:55 -08:00
Dan Helfman 3c2099f587 Add missing test for log_outputs() stderr -> ERROR log. 2026-01-02 23:04:53 -08:00
Dan Helfman 76c0432fca Fix end-to-end tests. 2026-01-02 14:57:38 -08:00
Dan Helfman 6f075f52fd Get unit/integration tests passing. 2026-01-01 22:24:56 -08:00
Dan Helfman b19e0e6455 Add some missing execute.py test coverage. 2025-12-31 23:05:50 -08:00
Dan Helfman 11253d2b1d Get existing test passing. 2025-12-30 23:19:10 -08:00
Dan Helfman 9f6cce2a39 Get several existing tests passing and refactor logging of lines from external programs. 2025-12-30 22:25:12 -08:00
Dan Helfman 54d955bc95 Fix automated tests and update NEWS (#1206). 2025-12-20 16:59:13 -08:00
Dan Helfman a72f9b24b5 Merge branch jacksonchen666-btrfs-remove-pid into btrfs-remove-pid and streamline the docs a bit. 2025-12-20 16:02:42 -08:00
Dan Helfman 50a062611e Fix a regression in the ZFS, LVM, and Btrfs hooks in which snapshotted paths ignored global excludes (#1195). 2025-12-02 15:40:42 -08:00
Jackson f95fbaa6aa fix at least some tests (with changed snapshot path)
this really is just a blanket find and replace though
2025-11-21 09:22:34 +01:00
Dan Helfman 859c338d06 Improve documentation search results for individual configuration options. 2025-11-04 22:34:15 -08:00
Dan Helfman 0f7ebcb4b7 Fix for a regression in the ZFS, LVM, and Btrfs hooks in which partial excludes of snapshot paths were ignored (#1169). 2025-10-26 14:12:52 -07:00
Dan Helfman f680869d31 Expand the "borg_extra_options" option to support every Borg sub-command that borgmatic uses (#427). 2025-10-23 21:13:16 -07:00
Dan Helfman dcd567f4f0 Fix for a runtime directory error when the configured patterns contain a global exclude (#1150). 2025-10-22 11:10:42 -07:00
Dan Helfman efc4316a45 Split out example configuration into different pages of reference documentation (#942). 2025-10-12 21:28:52 -07:00
Dan Helfman b89f057be0 Fix a regression in the Loki monitoring hook in which log messages weren't sending (#1152). 2025-09-28 16:44:59 -07:00
Dan Helfman da65063216 Make test code style more consistent with the rest of the codebase (#1116). 2025-09-17 21:55:36 -07:00
Dan Helfman 9a80fec91b When running tests, use Ruff for faster and more comprehensive code linting and formatting. 2025-07-17 23:24:58 -07:00
Tobias SchlatterandDan Helfman 123f8958f6 Create a checkpoint archive first with streaming processes (#1032).
This ensures that if a streaming process fails, we do not create a
real (i.e. non-checkpoint archive), (fixes #1032).

Without this, there is a race condition where borg already creates an
archive before borgmatic can kill it.

Tested locally (with `pipx install --editable .`):

```sh
borgmatic --config config.yaml create
borgmatic --config config.yaml create --json
```

## Hold up!

Thanks for your contribution. Unfortunately, we don't use GitHub pull requests to manage code contributions to this repository (and GitHub doesn't have any way to disable pull requests entirely). Instead, please see:

https://torsion.org/borgmatic/#contributing

... which provides full instructions on how to submit pull requests. You can even use your GitHub account to login.

Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/1102
Reviewed-by: Dan Helfman <witten@torsion.org>
Co-authored-by: Tobias Schlatter <schlatter.tobias@gmail.com>
Co-committed-by: Tobias Schlatter <schlatter.tobias@gmail.com>
2025-06-25 16:24:07 +00:00
Dan Helfman 8e8d9e6267 Fix a bug in which "borg --version" failing isn't considered a "fail" state in a command hook (#1100). 2025-05-27 11:52:36 -07:00
Dan Helfman b68211cc0c Fix for the "config generate" action generating invalid configuration when upgrading deprecated command hooks (#1091). 2025-05-08 12:59:53 -07:00
Dan Helfman 81db67c759 Fix a regression in monitoring hooks in which an error pinged the finish state instead of the fail state (#1065). 2025-04-09 11:32:59 -07:00
Dan Helfman 06a6444c86 Expand test that checks whether schema actions correspond to supported actions. 2025-04-06 21:25:06 -07:00
Dan Helfman f6de79060e Omit "pattern" from missing actions test (#1056). 2025-04-06 20:57:15 -07:00
Dan Helfman edee3c3788 Fix broken monitoring verbosity (#793). 2025-04-05 16:11:42 -07:00