Skip to content

Commit a0ddc6b

Browse files
committed
🗑️(CI) free up space in the GitHub Actions runners
On the release pull request workflows, we sometimes face issues with disk space. We clean up some space before starting Docker services or after finishing to build images to avoid these issues.
1 parent 92d3f63 commit a0ddc6b

File tree

3 files changed

+48
-0
lines changed

3 files changed

+48
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: 'Free Disk Space'
2+
description: 'Free up disk space by removing large preinstalled items and cleaning up Docker'
3+
4+
runs:
5+
using: "composite"
6+
steps:
7+
- name: Free disk space (Linux only)
8+
if: runner.os == 'Linux'
9+
shell: bash
10+
run: |
11+
echo "Disk usage before cleanup:"
12+
df -h
13+
14+
# Remove large preinstalled items that are not used on GitHub-hosted runners
15+
sudo rm -rf /usr/share/dotnet || true
16+
sudo rm -rf /opt/ghc || true
17+
sudo rm -rf /usr/local/lib/android || true
18+
19+
# Clean up Docker
20+
docker system prune -af || true
21+
docker volume prune -f || true
22+
23+
echo "Disk usage after cleanup:"
24+
df -h

.github/workflows/docker-hub.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@ jobs:
5252
push: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'preview') }}
5353
tags: ${{ steps.meta.outputs.tags }}
5454
labels: ${{ steps.meta.outputs.labels }}
55+
-
56+
name: Cleanup Docker after build
57+
if: always()
58+
run: |
59+
docker system prune -af
60+
docker volume prune -f
5561
5662
build-and-push-frontend:
5763
runs-on: ubuntu-latest
@@ -91,6 +97,12 @@ jobs:
9197
push: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'preview') }}
9298
tags: ${{ steps.meta.outputs.tags }}
9399
labels: ${{ steps.meta.outputs.labels }}
100+
-
101+
name: Cleanup Docker after build
102+
if: always()
103+
run: |
104+
docker system prune -af
105+
docker volume prune -f
94106
95107
build-and-push-y-provider:
96108
runs-on: ubuntu-latest
@@ -125,6 +137,12 @@ jobs:
125137
push: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'preview') }}
126138
tags: ${{ steps.meta.outputs.tags }}
127139
labels: ${{ steps.meta.outputs.labels }}
140+
-
141+
name: Cleanup Docker after build
142+
if: always()
143+
run: |
144+
docker system prune -af
145+
docker volume prune -f
128146
129147
notify-argocd:
130148
needs:

.github/workflows/impress-frontend.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,9 @@ jobs:
8585
- name: Install Playwright Browsers
8686
run: cd src/frontend/apps/e2e && yarn install --frozen-lockfile && yarn install-playwright chromium
8787

88+
- name: Free disk space before Docker
89+
uses: ./.github/actions/free-disk-space
90+
8891
- name: Start Docker services
8992
run: make bootstrap-e2e FLUSH_ARGS='--no-input'
9093

@@ -124,6 +127,9 @@ jobs:
124127
- name: Install Playwright Browsers
125128
run: cd src/frontend/apps/e2e && yarn install --frozen-lockfile && yarn install-playwright firefox webkit chromium
126129

130+
- name: Free disk space before Docker
131+
uses: ./.github/actions/free-disk-space
132+
127133
- name: Start Docker services
128134
run: make bootstrap-e2e FLUSH_ARGS='--no-input'
129135

0 commit comments

Comments
 (0)