Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 18 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ This action removes optional preinstalled SDKs, toolchains, and caches so your w
- [Quick start](#quick-start)
- [Cleanup Profiles](#cleanup-profiles)
- [Inputs reference](#inputs-reference)
- [Practical guidance](#practical-guidance)
- [Compatibility](#compatibility)
- [Contributing](#contributing)
- [Security](#security)
Expand All @@ -34,9 +33,7 @@ This action helps by:

## Quick start

Use this action near the top of your job, right after checkout.

Below are sub-sections outlining 2 usage patterns for this action.
Use this action near the top of your job, right after checkout, using one of the following [cleanup profiles](#cleanup-profiles):

### Option A: Maximum Cleanup (Default)

Expand All @@ -53,7 +50,7 @@ jobs:

- name: Free Runner Space
# NOTE: Use a specific tag or commit shasum for immutability
uses: justinthelaw/maximize-github-runner-space@main
uses: justinthelaw/maximize-github-runner-space@latest
with:
skip-components: java,browsers

Expand All @@ -76,6 +73,7 @@ jobs:

- name: Free Runner Space
# NOTE: Use a specific tag or commit shasum for immutability
uses: justinthelaw/maximize-github-runner-space@latest
with:
cleanup-profile: custom
remove-android: "true"
Expand Down Expand Up @@ -119,31 +117,25 @@ jobs:

## Inputs reference

Estimated savings are based on the latest passing CI matrix runs for this repository and should be treated as directional guidance (runner image updates can shift these numbers over time).

| Input | Default | Description |
| ----------------------- | ------- | -------------------------------------------------------------- |
| `cleanup-profile` | `max` | Cleanup mode: `max` (default) or `custom`. |
| `skip-components` | N/A | Comma-separated components to keep when `cleanup-profile=max`. |
| `remove-dotnet` | `false` | Remove .NET runtime and libraries (~2 GB). |
| `remove-android` | `false` | Remove Android SDKs and tools (~9 GB). |
| `remove-haskell` | `false` | Remove GHC (Haskell) artifacts (~5 GB). |
| `remove-codeql` | `false` | Remove CodeQL action bundles (~5 GB). |
| `remove-cached-tools` | `false` | Remove setup-action tool cache (~8 GB). |
| `remove-swapfile` | `false` | Disable and remove swapfile (~4 GB). |
| `remove-swift` | `false` | Remove Swift toolchain files (~2–3 GB). |
| `remove-julia` | `false` | Remove Julia binaries and libraries (~1 GB). |
| `remove-java` | `false` | Purge OpenJDK packages (~1–2 GB). |
| `remove-browsers` | `false` | Purge browsers and webdriver packages (~1+ GB). |
| `remove-powershell` | `false` | Purge the PowerShell package. |
| `remove-docker-images` | `false` | Remove cached Docker images (~3 GB). |
| `remove-large-packages` | `false` | Purge additional large apt packages (~3 GB). |

## Practical guidance

- **Run early**: put this before dependency restore/build/test steps.
- **Assume `max` by default**: this action removes all cleanup components unless skipped.
- **Use `skip-components`** to preserve required toolchains when staying in `max`.
- **Switch to `custom`** when you need explicit per-component control.
- **Expect tool loss**: later steps may fail if they rely on removed software.
| `remove-dotnet` | `false` | Remove .NET runtime and libraries (~1.5–2.0 GB). |
| `remove-android` | `false` | Remove Android SDKs and tools (~10–14 GB). |
| `remove-haskell` | `false` | Remove GHC (Haskell) artifacts (~2–4 GB). |
| `remove-codeql` | `false` | Remove CodeQL action bundles (~2–3 GB). |
| `remove-cached-tools` | `false` | Remove setup-action tool cache (~5–8 GB). |
| `remove-swapfile` | `false` | Disable and remove swapfile (~4 GB). |
| `remove-swift` | `false` | Remove Swift toolchain files (~2.0–2.5 GB). |
| `remove-julia` | `false` | Remove Julia binaries and libraries (~300–700 MB). |
| `remove-java` | `false` | Purge OpenJDK packages (~1.0–1.5 GB). |
| `remove-browsers` | `false` | Purge browsers and webdriver packages (~1.5–2.0 GB). |
| `remove-powershell` | `false` | Purge the PowerShell package (~150–250 MB). |
| `remove-docker-images` | `false` | Remove cached Docker images (~3–6 GB). |
| `remove-large-packages` | `false` | Purge additional large apt packages (~1–3 GB). |

## Compatibility

Expand Down