Skip to content

Commit 0ac0438

Browse files
committed
👷 Relocate Docker storage to LVM volume in CI
Reconfigure Docker's data-root to use the LVM volume created by maximize-build-space, fixing recurring "no space left on device" CI failures. Reduce root-reserve-mb from 30 GB to 4 GB since Docker data no longer resides on root filesystem. The relocation step runs after checkout to avoid permission errors during workspace cleanup, and docker-data is excluded from .dockerignore to prevent it being sent as build context.
1 parent 1fc0269 commit 0ac0438

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

.dockerignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ bin/
66
*.pyc
77
**/__pycache__
88
*.egg-info/
9+
docker-data/

.github/workflows/push.yml

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ jobs:
9898
- name: Maximize build space
9999
uses: easimon/maximize-build-space@v10
100100
with:
101-
root-reserve-mb: 30720
101+
root-reserve-mb: 4096
102102
swap-size-mb: 1024
103103
remove-dotnet: 'true'
104104
remove-android: 'true'
@@ -107,6 +107,13 @@ jobs:
107107
remove-docker-images: 'true'
108108
- name: Checkout python-for-android
109109
uses: actions/checkout@v5
110+
- name: Relocate Docker data directory
111+
run: |
112+
sudo systemctl stop docker
113+
sudo mkdir -p "${GITHUB_WORKSPACE}/docker-data"
114+
echo '{"data-root": "'${GITHUB_WORKSPACE}/docker-data'"}' | sudo tee /etc/docker/daemon.json
115+
sudo systemctl start docker
116+
docker info | grep "Docker Root Dir"
110117
- name: Build python-for-android docker image
111118
run: |
112119
docker build --tag=kivy/python-for-android .
@@ -224,7 +231,7 @@ jobs:
224231
- name: Maximize build space
225232
uses: easimon/maximize-build-space@v10
226233
with:
227-
root-reserve-mb: 30720
234+
root-reserve-mb: 4096
228235
swap-size-mb: 1024
229236
remove-dotnet: 'true'
230237
remove-android: 'true'
@@ -235,6 +242,13 @@ jobs:
235242
uses: actions/checkout@v5
236243
with:
237244
fetch-depth: 0
245+
- name: Relocate Docker data directory
246+
run: |
247+
sudo systemctl stop docker
248+
sudo mkdir -p "${GITHUB_WORKSPACE}/docker-data"
249+
echo '{"data-root": "'${GITHUB_WORKSPACE}/docker-data'"}' | sudo tee /etc/docker/daemon.json
250+
sudo systemctl start docker
251+
docker info | grep "Docker Root Dir"
238252
- name: Pull docker image
239253
run: |
240254
make docker/pull

0 commit comments

Comments
 (0)