b2778dae70
Fix remote images being chosen over the local ones we just built with Complement in CI (any Docker environment using the `containerd` image store). This problem means that Complement jobs in CI don't actually test against the code from the PR (since 2026-02-10). This PR approaches the problem the same way that @AndrewFerr proposed in https://github.com/element-hq/synapse/pull/18210. This is better than the alternative listed below as we can just make our code compatible with whatever image store is being used. ### Problem Spawning from https://github.com/element-hq/synapse/pull/19460#discussion_r2818760635 where we found that our Complement jobs in CI don't actually test against the code from the PR at the moment. This is caused by a change in Docker Engine 29.0.0: > `containerd` image store is now the default for **fresh installs**. This doesn't apply to daemons configured with `userns-remap` (see [moby#47377](https://github.com/moby/moby/issues/47377)). > > *-- 29.0.0 (2025-11-10), https://docs.docker.com/engine/release-notes/29/#2900* And our `ubuntu-latest` GitHub runner (`Current runner version: '2.331.0'`) [points](https://github.com/actions/runner-images/blob/ubuntu24/20260209.23/images/ubuntu/Ubuntu2404-Readme.md) to using Docker client/server `29.1.5` 🎯 This Docker version bump happened on https://github.com/actions/runner-images/commit/416418df15a48321bdf51c3978c07a84a1873c75 (2026-02-10) (`28.0.4` -> `29.1.5`). Specific PR: https://github.com/actions/runner-images/pull/13633 --- I found this because I reviewed and remembered https://github.com/element-hq/synapse/pull/18210 was a thing that @AndrewFerr ran into. And then running `dockers system prune` also revealed the problematic `containerd` in CI. Checking the Docker changelogs, I found the new default culprit and then could trace down where the GitHub runners made the dependency update. --------- Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>