Skip to content

Commit 3093ba1

Browse files
aledbfclaude
andcommitted
ci: liberar disco agresivamente en las lanes runtime (el runner moría por disco)
parity-runtime con el data-root en /mnt corrió ~27 min (vs ~5 previos) y murió en duro: /mnt es el MISMO filesystem que / en estos runners, así que no daba espacio extra, y la matriz serial acumula ~180 imágenes hasta llenar el disco (el runner muere y se pierden los logs, de ahí los BlobNotFound). Se revierte el data-root a /mnt (inútil) y en su lugar se liberan los SDKs preinstalados grandes (dotnet/ghc/android/CodeQL/swift/boost/jvm, ~25-30GB; Go/Node los reinstalan los pasos setup que siguen) + prune de imágenes, manteniendo el containerd image store. Aplica a parity-runtime y a la lane arm64 experimental. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 3f527a3 commit 3093ba1

1 file changed

Lines changed: 20 additions & 19 deletions

File tree

.github/workflows/go-cli.yml

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -111,21 +111,23 @@ jobs:
111111
- uses: actions/checkout@v7
112112
with:
113113
submodules: recursive
114-
# ubuntu-latest ships only ~14GB free on / but a large ephemeral disk on /mnt.
115-
# The runtime matrix builds many real images; keeping Docker's data-root on /
116-
# exhausts it ("No space left on device"). Move data-root to /mnt and, in the
117-
# same daemon config, enable the containerd image store (needed for cache
118-
# export / --platform, unsupported by the default docker driver). Also drop
119-
# unused preinstalled SDKs to give the root disk headroom (Go/Node are
120-
# reinstalled by the setup steps that follow).
121-
- name: Configure Docker (data-root on /mnt, containerd store) + free disk
114+
# The runtime matrix builds ~180 real images serially; they accumulate and
115+
# exhaust the runner's root disk ("No space left on device" — the runner then
116+
# dies hard, losing logs). /mnt is the SAME filesystem as / on these runners,
117+
# so it buys nothing; instead free the big preinstalled SDKs (Go/Node are
118+
# reinstalled by the setup steps that follow) for ~25-30GB of headroom. Also
119+
# enable the containerd image store (needed for cache export / --platform).
120+
- name: Free disk space + configure Docker (containerd store)
122121
run: |
123-
sudo rm -rf /usr/share/dotnet /opt/ghc /usr/local/lib/android || true
124-
sudo mkdir -p /mnt/docker
125-
echo '{"features":{"containerd-snapshotter":true},"data-root":"/mnt/docker"}' | sudo tee /etc/docker/daemon.json
122+
echo "before:"; df -h / | tail -1
123+
sudo rm -rf /usr/share/dotnet /opt/ghc /usr/local/lib/android \
124+
/opt/hostedtoolcache/CodeQL /usr/share/swift \
125+
/usr/local/share/boost /usr/lib/jvm || true
126+
sudo docker image prune -af >/dev/null 2>&1 || true
127+
echo "after:"; df -h / | tail -1
128+
echo '{"features":{"containerd-snapshotter":true}}' | sudo tee /etc/docker/daemon.json
126129
sudo systemctl restart docker
127-
docker info -f 'root={{.DockerRootDir}} driver={{.DriverStatus}}'
128-
df -h / /mnt
130+
docker info -f 'driver={{.DriverStatus}}'
129131
- uses: actions/setup-go@v6
130132
with:
131133
go-version-file: go.mod
@@ -171,14 +173,13 @@ jobs:
171173
uses: docker/setup-qemu-action@v3
172174
with:
173175
platforms: arm64
174-
- name: Configure Docker (data-root on /mnt, containerd store) + free disk
176+
- name: Free disk space + configure Docker (containerd store)
175177
run: |
176-
sudo rm -rf /usr/share/dotnet /opt/ghc /usr/local/lib/android || true
177-
sudo mkdir -p /mnt/docker
178-
echo '{"features":{"containerd-snapshotter":true},"data-root":"/mnt/docker"}' | sudo tee /etc/docker/daemon.json
178+
sudo rm -rf /usr/share/dotnet /opt/ghc /usr/local/lib/android \
179+
/opt/hostedtoolcache/CodeQL /usr/share/swift \
180+
/usr/local/share/boost /usr/lib/jvm || true
181+
echo '{"features":{"containerd-snapshotter":true}}' | sudo tee /etc/docker/daemon.json
179182
sudo systemctl restart docker
180-
docker info -f 'root={{.DockerRootDir}} driver={{.DriverStatus}}'
181-
df -h / /mnt
182183
- uses: actions/setup-go@v6
183184
with:
184185
go-version-file: go.mod

0 commit comments

Comments
 (0)