Skip to content

Testing Maraudarr 🧪

Choose the smallest validation that proves the changed boundary, then broaden for generator, image, workflow, or documentation changes.

Unit Tests

make test-maraudarr-unit

The Python suite checks catalog resolution, comment preservation, environment state, first-run secrets, Homepage composition, healthcheck form, and safe config seeding. Tests run directly from docker/src so packaging mistakes do not hide source behavior.

Generation Matrix

make test-maraudarr

This includes unit tests, packaged-image fallback checks, and representative presets or optional-service combinations. Every generated Compose/environment pair is inspected by Docker Compose without starting application containers.

Image Builds

make build-maraudarr
make build-multiarch

The first command builds the production image shape. The second verifies every published CPU architecture: linux/amd64, linux/arm64, and linux/arm/v7.

Documentation

Install the isolated documentation toolchain once:

python3 -m pip install --requirement requirements-docs.txt

Build the warning-free site or start a local preview:

make docs
make docs-serve

The generated site/ directory is disposable and ignored by Git. CI performs the same strict build and publishes a fresh artifact from main.

Repository Policy

Finish with:

pre-commit run --all-files
git diff --check

These checks cover secret detection, file hygiene, TOML/YAML syntax, workflow linting, and shell correctness. Real VPN or downloader E2E tests require local credentials and should never expose .env, WireGuard state, or application databases in logs or commits.