Tobias Kaupat and Claude Sonnet 5.5
9c29add70f
fix: handle JUnit failures without message in sabotage check
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-20 10:17:52 +02:00
Tobias Kaupat and Claude Sonnet 5.5
fc51cea8cf
fix: shorten sabotage message for lint
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-20 10:06:12 +02:00
Tobias Kaupat and Claude Sonnet 5.5
87f772099d
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 >
2026-10-20 10:06:04 +02:00
Tobias Kaupat and Claude Sonnet 5.5
cb35fb296d
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 >
2026-10-20 10:06:04 +02:00
Tobias Kaupat and Claude Sonnet 5.5
9be33e3c26
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 >
2026-10-20 09:17:03 +02:00
Tobias Kaupat and Claude Sonnet 5.5
0970b319a6
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 >
2026-10-20 09:17:03 +02:00
Tobias Kaupat and Claude Sonnet 5.5
651f9900c5
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 >
2026-10-20 09:17:03 +02:00
Tobias Kaupat and Claude Sonnet 5.5
a6c091b854
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 >
2026-10-20 09:17:00 +02:00
Tobias Kaupat and Claude Sonnet 5.5
5c03a2e31a
docs: describe the Python test suite
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-19 17:49:47 +02:00
Tobias Kaupat and Claude Sonnet 5.5
d1a6744b8b
ci: run only the Python suite in the test job
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-19 17:49:47 +02:00
Tobias Kaupat and Claude Sonnet 5.5
884d988079
test: remove the Bash suite
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-19 17:49:47 +02:00
Tobias Kaupat and Claude Sonnet 5.5
a6c83de07e
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 >
2026-10-19 17:49:47 +02:00
Tobias Kaupat and Claude Sonnet 5.5
c65537c013
fix: create parent directories in put_file
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-19 17:21:32 +02:00
Tobias Kaupat and Claude Sonnet 5.5
12e1109a42
test: port sabotage self-test to task test:sabotage
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-19 16:37:41 +02:00
Tobias Kaupat and Claude Sonnet 5.5
9c49d6bd01
test: port feature-gated tests to pytest
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-19 16:37:41 +02:00
Tobias Kaupat and Claude Sonnet 5.5
8ff93f4709
test: remove anonymous volumes with short-lived test containers
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-19 16:13:44 +02:00
Tobias Kaupat and Claude Sonnet 5.5
a74b210615
test: assert the empty-tag snapshot carries no tags
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-19 16:11:24 +02:00
Tobias Kaupat and Claude Sonnet 5.5
a427b0f164
test: assert the success message first in the corruption test
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-19 15:42:46 +02:00
Tobias Kaupat and Claude Sonnet 5.5
7875361dac
test: port compat tests to pytest
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-19 15:31:03 +02:00
Tobias Kaupat and Claude Sonnet 5.5
dfead1b20d
fix: clean up test containers on SIGTERM
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-19 15:22:01 +02:00
Tobias Kaupat and Claude Sonnet 5.5
59b77e113e
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 >
2026-10-19 15:06:05 +02:00
Tobias Kaupat and Claude Sonnet 5.5
2ce6290505
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 >
2026-10-19 15:05:58 +02:00
Tobias Kaupat and Claude Sonnet 5.5
2d3720c7bf
ci: run the pytest suite via mise and task
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-19 14:53:06 +02:00
Tobias Kaupat and Claude Sonnet 5.5
b94795ee8d
test: scaffold pytest suite with mise, uv and Task
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-19 14:53:06 +02:00
Tobias Kaupat and Claude 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
47d29529e9
chore: Changelog
v1.4.2
2025-08-13 15:19:14 +02:00
Max Konrädi
97c74a94a7
Revert "feat: add restic check after forget with prune"
...
This reverts commit 5f2b322e54 .
2025-08-13 15:15:37 +02:00
Max Konrädi
901cd5487f
chore: Changelog
v1.4.1
2025-08-13 14:58:23 +02:00
Max Konrädi
a66e72cb7e
Merge pull request #103 from lobaro/feat/check_after_forget_prune
...
feat: add restic check after forget with prune
2025-08-13 14:56:17 +02:00
Max Konrädi
5f2b322e54
feat: add restic check after forget with prune
2025-08-13 13:43:48 +02:00
Max Konrädi
50e6fdbdf2
chore: Update CHANGELOG.md
...
v1.4.0
2025-04-23 15:04:50 +02:00
Max Konrädi
281c77f000
Merge pull request #88 from modem/patch-1
...
Update README.md
v1.4.0
2025-04-23 14:54:58 +02:00
Max Konrädi
2dd2b9ec2f
Merge pull request #94 from lobaro/dependabot/github_actions/sigstore/cosign-installer-3.8.2
...
Bump sigstore/cosign-installer from 3.8.1 to 3.8.2
2025-04-23 14:53:11 +02:00
Max Konrädi
d864717eca
Merge pull request #95 from lobaro/chore/restic_upgrade
...
chore: remove arm64 specific dockerfile - platform target now impleme…
2025-04-23 14:52:04 +02:00
dependabot[bot]
5b057f7554
Bump sigstore/cosign-installer from 3.8.1 to 3.8.2
...
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer ) from 3.8.1 to 3.8.2.
- [Release notes](https://github.com/sigstore/cosign-installer/releases )
- [Commits](https://github.com/sigstore/cosign-installer/compare/v3.8.1...v3.8.2 )
---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
dependency-version: 3.8.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-04-23 12:51:07 +00:00
Max Konrädi
aac1a371e1
Merge pull request #90 from krombel/master
...
Update restic, rclone and workflow dependencies
2025-04-23 14:50:28 +02:00
Max Konrädi
ff27b6e0c4
Merge branch 'master' into master
2025-04-23 14:48:20 +02:00
Max Konrädi
424d4552cc
Update dependabot.yml
2025-04-23 14:47:22 +02:00
Max Konrädi
30df2e301a
chore: remove arm64 specific dockerfile - platform target now implemented in main dockerfile
2025-04-23 14:38:57 +02:00
Max Konrädi
4a3487bc1a
Merge pull request #87 from zimbres/master
...
Multiarch Docker images / Backup_Sources Folder option
2025-04-23 14:31:28 +02:00
Max Konrädi
61e741240d
Merge branch 'master' into master
2025-04-23 14:31:04 +02:00
Max Konrädi
646a4ffc40
Merge pull request #93 from lobaro/chore/restic_upgrade
...
Chore/restic upgrade
2025-04-22 11:16:36 +02:00
Max Konrädi
db48b9982a
Merge branch 'master' into chore/restic_upgrade
2025-04-22 11:15:58 +02:00
Max Konrädi
3c113ab2f4
feat: add shadow package for simple user management
2025-04-22 11:14:25 +02:00
Max Konrädi
f695ea5253
Chore/restic upgrade ( #92 )
...
* chore: update restic to 0.18.0
* feat: add arm64 specific dockerfile
* fix: for podman compatibility prefix image with'docker.io/'
2025-04-16 18:13:33 +02:00
Max Konrädi
e38f19c6d2
fix: default dockerfile uses amd64 arch
2025-04-16 18:12:21 +02:00
Max Konrädi
214edc2721
fix: for podman compatibility prefix image with'docker.io/'
2025-04-16 15:25:17 +02:00
Max Konrädi
e75e026e92
feat: add arm64 specific dockerfile
2025-04-16 15:03:33 +02:00
Max Konrädi
740b897581
chore: update restic to 0.18.0
2025-04-16 13:35:23 +02:00
Matthias Kesler
e7b7efa431
Merge pull request #2 from krombel/dependabot/docker/restic/restic-0.18.0
...
Bump restic/restic from 0.17.3 to 0.18.0
2025-04-01 14:58:28 +02:00