overlayfs storage driver on GitHub runner #1751
-
|
A couple of days ago I think the GitHub runner change to a new docker engine which uses overlayfs, but I think cross requires overlay2. My builds no longer build due to this error. I did try using the Not sure how to get this to work again, so for now I am using a self hosted runner that runs an old docker version. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
|
This is a known issue. I looked at the cross source ( The quickest fix for GitHub Actions is to force the Docker daemon back to - name: Fix Docker storage driver
run: |
echo '{"storage-driver": "overlay2"}' | sudo tee /etc/docker/daemon.json
sudo systemctl restart dockerPut that as the first step in your job, before any cross commands. This works on the current Ubuntu runner images because the kernel still supports both drivers, it's just that Docker defaults to There's also issue #1671 and #1588 tracking this on the cross-rs side. A proper fix would be updating that driver check to handle both |
Beta Was this translation helpful? Give feedback.
This is a known issue. I looked at the cross source (
src/docker/shared.rsline ~1420-1431) and the problem is that cross checks if the driver name contains "overlay", then tries to readMergedDirfrom the GraphDriver data. Butoverlayfs(the newer driver name) structures that data differently thanoverlay2, so it either can't findMergedDiror hits the fallback error.The quickest fix for GitHub Actions is to force the Docker daemon back to
overlay2before running cross:Put that as the first step in your job, before any cross commands. …