Commit Graph
47 Commits
Author SHA1 Message Date
Tobias KaupatandClaude Sonnet 5.5 7b90474b70 docs: note BuildKit requirement in README
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 00:31:12 +02:00
Tobias KaupatandClaude Sonnet 5.5 be7d426f78 test: move container test suites to pytest (#112)
* test: scaffold pytest suite with mise, uv and Task

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* ci: run the pytest suite via mise and task

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix: make test cleanup survive repeated SIGINT

A group Ctrl-C reaches pytest a second time via task and uv while the
session fixture tears down, aborting the volume cleanup. Ignore SIGINT
and SIGTERM during cleanup, remove volumes in finally, and tolerate
already-removed objects.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix: pin Python 3.13 for uv without mise

Add .python-version (read by mise and uv) and cap requires-python at
<3.14 so bare uv uses 3.13 or fails instead of picking 3.14.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix: clean up test containers on SIGTERM

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test: port compat tests to pytest

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test: assert the success message first in the corruption test

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test: assert the empty-tag snapshot carries no tags

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test: remove anonymous volumes with short-lived test containers

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test: port feature-gated tests to pytest

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test: port sabotage self-test to task test:sabotage

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix: create parent directories in put_file

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test: move structure.yml to tests and remove cst volume leak

container-structure-test left one anonymous volume per test container.
tests/structure.py runs it with --save and removes the new containers
with their volumes afterwards.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test: remove the Bash suite

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* ci: run only the Python suite in the test job

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* docs: describe the Python test suite

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test: isolate scenario steps, share helpers, use restore_latest, HEAD dir probe

Scenario fixtures record each step; a failing step fails only the tests
that assert on it. running() and raise_interrupt() live in helpers.py.
put_file probes parent directories with a HEAD request instead of a
get_archive stream. stream_run uses restore_latest and asserts its result.
Docstrings no longer refer to the removed Bash suite.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test: sabotage check rejects errors and malformed reports

Only <failure> of the expected tests counts as red; errors in them and a
malformed JUnit report exit 2 (invalid) instead of passing or exiting 1.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* test: structure wrapper removes only its own containers

Restrict cleanup to containers of the image under test without the
rbd-test-run label and ignore NotFound.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* build: run all test suites and aggregate the exit code

task test no longer stops at the first failing suite.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix: sabotage check treats failed scenario steps as INVALID

StepFailed is no AssertionError any more; sabotage.py counts a JUnit failure
named StepFailed as error, so an expected-red test only counts when its own
assertion fails.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix: hard timeout for container-structure-test

CST_TIMEOUT (default 300 s) kills a hanging run; existing cleanup removes the
containers; exit code 124 with a clear message.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix: shorten sabotage message for lint

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix: handle JUnit failures without message in sabotage check

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 20:47:03 +02:00
Tobias KaupatandClaude Opus 5.5 31f06b5d9b test: add container test suites and run them in CI (#111)
Adds structure, compat and feature-gated container test suites (test/run.sh), runs them in CI, and gates image publishing on a green test run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 14:46:42 +02:00
Max Konrädi 281c77f000 Merge pull request #88 from modem/patch-1
Update README.md
2025-04-23 14:54:58 +02:00
modem 9967b3fb2a Update README.md
Fix image in docker compose example
2024-04-17 14:54:16 +01:00
Marcio Zimbres bf2dabd2c7 Added option to set the target folder backup 2023-12-07 14:02:36 -03:00
Tobias Kaupat c2ae895ed8 Update README.md 2023-08-06 00:02:38 +02:00
Tobias Kaupat e25f09d0ce Update README.md 2023-08-06 00:00:18 +02:00
Tobias Kaupat e09de3ee18 Update README.md 2023-08-05 23:04:31 +02:00
Tobias Kaupat ffcf548155 Link new docker container in readme 2023-08-05 22:34:25 +02:00
Felix Sherrington-Kendall 389fcaa995 📚 Fix minor typos and formatting in README. 2023-08-02 22:53:46 +02:00
Niko 7e0b0706c1 Update restic to version 0.13.1 and add option to check data integrity 2022-08-17 19:14:39 +03:00
0chroma 820fabb1e6 add RESTIC_INIT_ARGS docs 2022-01-19 22:14:46 +01:00
Erfan Sahafnejad 5110483351 Add Microsoft Teams notifier 2020-12-27 14:26:14 +01:00
Christian Studer 93e76c46fe README: Adds additional info for rclone backends 2020-12-27 14:21:00 +01:00
Tobias Kaupat 4f60e830af Some README about common usecases 2020-09-28 11:18:18 +02:00
Lucas Breton 46df366e4c Add pre and post backup hooks 2020-08-06 08:39:07 +02:00
Lucas Breton 23a05d88b9 Update README.md 2020-08-06 08:39:07 +02:00
Tobias Kaupat 0f6a7bd462 Update README.md
Update how to set hostname
2020-01-07 16:30:14 +01:00
Tobias Kaupat 88620c3acb Merge branch 'master' into alpine 2019-09-19 10:27:26 +02:00
Bruno Inec b0408d66a5 Add rclone to Dockerfile 2019-09-16 11:40:47 +02:00
mrclschstr 29e46cad2c Implemented a simple mail notification after backups using mailx. This can be used to send mail via an external SMTP server. Syntax uniformity is questionable. 2019-07-25 14:49:34 +02:00
Tobias Kaupat 683db322d7 Update README.md 2019-07-19 00:19:55 +02:00
Tobias Kaupat f99b15304f Update README.md 2019-07-19 00:18:20 +02:00
Tobias Kaupat 6613cd39b3 Update README.md 2019-07-19 00:13:09 +02:00
Tobias Kaupat 71feaad5b4 Update README.md 2019-07-19 00:12:44 +02:00
Tobias Kaupat fb54cf6906 Update README.md
document AWS S3 parameters
2019-02-06 15:55:19 +01:00
Tobias Kaupat fa45e05b19 Update README.md 2018-07-01 20:24:48 +02:00
Nick Busey effd03a102 Fixing cron 2018-06-20 15:43:55 -06:00
Stas d0cea127a5 add RESTIC_JOB_ARGS env variable to specify extra restic options 2018-02-03 21:51:17 +01:00
Stas 013efd00a9 clatify container UTC time zone 2018-02-03 21:48:38 +01:00
Tobias Kaupat 6e8f00b5b3 Update README.md 2017-04-14 01:33:19 +02:00
lobaro-demo 8ba9fb4a8f Do not run spearate prune, but let the user use --prune in RESTIC_FORGET_ARGS 2017-04-03 13:22:18 +00:00
Tobias Kaupat 0490f182d5 Update README.md
Explain the new logging mechanisms
2017-02-14 10:54:27 +01:00
Tobias Kaupat 2cff3da4d5 Update README.md 2016-11-29 10:32:27 +01:00
Tobias Kaupat eb45591270 Update README.md 2016-11-29 10:30:23 +01:00
Tobias Kaupat 714cc32410 Update README.md 2016-11-29 10:25:21 +01:00
Tobias Kaupat 931e931993 Update README.md 2016-11-28 19:49:02 +01:00
Tobias Kaupat fc73697ceb Update README.md 2016-11-28 19:20:52 +01:00
Tobias Kaupat 6dcc04c56b Update README.md 2016-11-08 11:11:20 +01:00
Tobias Kaupat 706ae72f2a Update README.md 2016-11-08 01:02:27 +01:00
Tobias Kaupat d9c823831c Update README.md 2016-11-08 00:59:13 +01:00
Tobias Kaupat 5028599a54 Update README.md 2016-11-08 00:42:36 +01:00
Tobias Kaupat 92a55b98b1 Document RESTIC_FORGET_ARGS 2016-11-08 00:31:47 +01:00
Tobias Kaupat b1831b4d85 Update README.md 2016-11-08 00:06:50 +01:00
Tobias Kaupat b1b0483e69 Explain the container usage 2016-11-08 00:06:13 +01:00
Tobias Kaupat 26a3f905ec Initial commit 2016-11-07 21:59:12 +01:00