Skip to content

Commit 6f8703f

Browse files
authored
ci(test): reclaim ubuntu runner disk + drop test debug-info (#295)
Ubuntu CI was hitting os error 28 (No space left on device) at link time — 14 tree-sitter parsers × 30+ test binaries × default debug-info filled the runner's 14 GB free space (last seen on PR #291 run 26240379100, tantivy.rlib link failed mid-cascade with callmeta_c_cpp misreported as the failing test). Two stacked mitigations: 1. Ubuntu-only `jlumbroso/free-disk-space` step before checkout — drops tool-cache + android + dotnet + haskell, reclaiming ~30 GB. macOS & windows have 50+ GB free by default; skipped there. 2. Job-level `CARGO_PROFILE_TEST_DEBUG=0` — shrinks target/debug/deps/ roughly 70%. Assertions stay on; only DWARF data is dropped.
1 parent 38b8d17 commit 6f8703f

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,12 @@ jobs:
158158
matrix:
159159
os: [ubuntu-latest, macos-latest, windows-latest]
160160
if: ${{ !(contains(github.event.pull_request.title, '[skip ci]') || contains(github.event.head_commit.message, '[skip ci]')) }}
161+
env:
162+
# 14 tree-sitter parsers × 30+ test binaries × debug-info defaulted to
163+
# `true` produced ~30 GB in target/debug/deps/ and filled the ubuntu
164+
# runner's 14 GB free space at link time (tantivy.rlib → os error 28).
165+
# Tests run under nextest don't need debug-info; assertions stay on.
166+
CARGO_PROFILE_TEST_DEBUG: "0"
161167

162168
steps:
163169
- name: Short-circuit for docs-only PR
@@ -170,6 +176,19 @@ jobs:
170176
with:
171177
egress-policy: audit
172178

179+
# Reclaim ~30 GB on ubuntu runners before checkout / build. macOS &
180+
# windows have 50+ GB free by default; only ubuntu needs this.
181+
- name: Free disk space (ubuntu only)
182+
if: matrix.os == 'ubuntu-latest'
183+
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
184+
with:
185+
tool-cache: true
186+
android: true
187+
dotnet: true
188+
haskell: true
189+
large-packages: false
190+
swap-storage: false
191+
173192
- name: Checkout code
174193
if: needs.detect-changes.outputs.code == 'true'
175194
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

0 commit comments

Comments
 (0)