The GitHub-hosted 'gha' cache backend is unreachable from the self-hosted Gitea runner (dial tcp 172.18.0.2:44181 i/o timeout), which failed the build step even though the image pushed successfully. Switch cache-from/cache-to to a registry-backed cache stored as a :buildcache tag in the same Gitea registry, which works on self-hosted runners.