e2e is permanently red on main: a leftover qBittorrent container blocks every run #269

Open
opened 2026-08-30 11:58:16 +01:00 by naps62-yolo · 0 comments
Owner

The qBittorrent step of .gitea/workflows/e2e.yml starts the container with a fixed name and no cleanup:

docker run -d --name arr-e2e-qbittorrent --network host ...

There is no --rm and nothing removes it beforehand, so once a run leaves the container behind, every later run dies at that step:

docker: Error response from daemon: Conflict. The container name
"/arr-e2e-qbittorrent" is already in use by container "f4212de4a2fd...".
exitcode '125': failure

The step is before build daemon, so no test executes and the failure says nothing about the commit under test. First seen on run 1549 (commit 6cd2902); it will now fail on every push to main until the container is removed.

Introduced with the Transmission-to-qBittorrent swap in ab4f95b — the Justfile e2e-up recipe passes --rm, the workflow does not.

Fix: remove any existing container before starting, e.g. docker rm -f arr-e2e-qbittorrent 2>/dev/null || true, and stop it in an if: always() step so a cancelled run does not leak one either.

The `qBittorrent` step of `.gitea/workflows/e2e.yml` starts the container with a fixed name and no cleanup: ``` docker run -d --name arr-e2e-qbittorrent --network host ... ``` There is no `--rm` and nothing removes it beforehand, so once a run leaves the container behind, every later run dies at that step: ``` docker: Error response from daemon: Conflict. The container name "/arr-e2e-qbittorrent" is already in use by container "f4212de4a2fd...". exitcode '125': failure ``` The step is before `build daemon`, so no test executes and the failure says nothing about the commit under test. First seen on run 1549 (commit 6cd2902); it will now fail on every push to main until the container is removed. Introduced with the Transmission-to-qBittorrent swap in ab4f95b — the `Justfile` `e2e-up` recipe passes `--rm`, the workflow does not. Fix: remove any existing container before starting, e.g. `docker rm -f arr-e2e-qbittorrent 2>/dev/null || true`, and stop it in an `if: always()` step so a cancelled run does not leak one either.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: yolo/arr#269