diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 828d1bc37..66f1eb3f9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -85,6 +85,12 @@ jobs: matrix: os: [ubuntu-latest, macos-latest, windows-latest] if: ${{ !(contains(github.event.pull_request.title, '[skip ci]') || contains(github.event.head_commit.message, '[skip ci]')) }} + env: + # 14 tree-sitter parsers × 30+ test binaries × debug-info defaulted to + # `true` produced ~30 GB in target/debug/deps/ and filled the ubuntu + # runner's 14 GB free space at link time (tantivy.rlib → os error 28). + # Tests run under nextest don't need debug-info; assertions stay on. + CARGO_PROFILE_TEST_DEBUG: "0" steps: - name: Harden the runner (Audit all outbound calls) @@ -92,6 +98,19 @@ jobs: with: egress-policy: audit + # Reclaim ~30 GB on ubuntu runners before checkout / build. macOS & + # windows have 50+ GB free by default; only ubuntu needs this. + - name: Free disk space (ubuntu only) + if: matrix.os == 'ubuntu-latest' + uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 + with: + tool-cache: true + android: true + dotnet: true + haskell: true + large-packages: false + swap-storage: false + - name: Checkout code uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: