Commit Graph
46 Commits
Author SHA1 Message Date
Tobias KaupatandClaude Opus 5 6cb2f72cf9 fix: make the test suites work on Windows/Git-Bash out of the box
MSYS rewrites POSIX-looking arguments before docker sees them, so
`docker exec <id> /usr/bin/backup` arrived as
`C:/Program Files/Git/usr/bin/backup` and the structure suite could not
read `--config /test/structure.yml`. 23 of 32 compat assertions and the
whole structure suite failed on Git-Bash, while test/lib.sh claimed the
suites behave identically on every platform.

test/lib.sh and test/run.sh now export MSYS_NO_PATHCONV=1 and
MSYS2_ARG_CONV_EXCL='*' themselves - lib.sh for the suites that source it,
run.sh for its own docker calls and the suites it starts as separate
processes. Both variables are ignored on Linux and macOS. README documents
that nothing has to be exported by hand.

Verified on Git-Bash without any variable set in the environment:
structure 13/13, compat 32/32, features 4 SKIP, exit 0, and
`bash test/run.sh --sabotage` still reports "sabotage check ok".

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

Agent-Id: agent-4966d0e6-7f4d-4b37-be3d-0648ed56cb8a
2026-10-17 23:27:02 +02:00
Tobias KaupatandClaude Opus 5 10b197f1f5 test: add container test suites and run them in CI
The repository had no tests: CI only built the image, and the old
container-structure-test setup was parked as config-broken.yml /
docker-compose.test.broken.yml. This adds suites that actually run the image.

- test/compat.sh: backup, restore, forget, check, hooks, failure handling and
  timezone behaviour against the default configuration. These describe what
  users depend on today, so a change that turns them red is a breaking change.
- test/features.sh: optional features, each guarded by a detection check
  against the built image. Absent features are reported as SKIP, so open pull
  requests do not turn master red, and their feature tests start running by
  themselves once the pull request is rebased. Covers #109 (RESTIC_STREAM),
  #99 (docker cli, bash) and #84 (msmtp).
- test/required-features.txt: once a feature is merged its gate is listed here
  and a missing feature becomes a failure instead of a skip.
- test/structure.yml: revived image layout checks, falls back to the official
  container-structure-test image when the tool is not installed.
- test/run.sh --sabotage: breaks the backup call on a throwaway copy of the
  tree and expects the suite to fail, so the tests cannot be watered down into
  always passing. CI runs this as its own step.
- .github/workflows/test.yml: shellcheck plus all suites on every pull request.

Also adds .gitattributes pinning shell scripts, the Dockerfile and YAML to LF.
With a Windows checkout (core.autocrlf=true) the scripts were checked out with
CRLF, and the resulting image failed to start with
"exec /entry.sh: no such file or directory".

No runtime file is touched, the image itself is unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

Agent-Id: agent-7034f75b-1ddc-4aa1-a4ea-3a54b340e8d9
2026-10-17 22:47:26 +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