Repository navigation
Releases
v2.0.0 — three breaking changes, each with its reason
Breaking changes
swap-storagenow defaults tofalse. Closes #12 — reported and diagnosed by @zaikunzhang, whose proposed documentation fallback became the new FAQ. Removing swap can kill a job under memory pressure with no error pointing back at the cleanup step; a default should not break something that elementary.tool-cacheis renamedpreinstalled-runtimes. The old name still works until v3.0.0 and prints a deprecation warning. (Its default is unchanged:false, as it has been since 2022.) The new name says what actually breaks when you enable it: the runtimes thatactions/setup-node,setup-python,setup-go, andsetup-rubyrely on.- Specific options now override general ones.
dotnet: falseexempts .NET from every removal path, includinglarge-packages. Fixes #33 — reported by @ashleney; the overlap was first reported by @gmij in #6, and @ax3l explained the overlapping removal paths and a workaround. The policy is explicit, and this release applies it to .NET; future subject options add and test their own exemptions.
Upgrading from v1 to v2
Most workflows need no change.
- If you set
tool-cache:, rename it topreinstalled-runtimes:. The old name still works until v3.0.0 and prints a warning. - If you relied on swap being removed by default, add
swap-storage: true. It now defaults tofalse, because removing swap can kill a job under memory pressure with no error pointing back here (#12). - If you set
dotnet: falseand were surprised that .NET was still removed, that is fixed — a specific option now overrides a general one (#33).
Also in this release
A README FAQ ("what are the possible side-effects of these settings?"), CONTRIBUTING.md, and a workflow example for running cleanup conditionally (#22). The reasons behind every design decision live in docs/adr/ — including ADR-0007, the record of this release's default change, written the day it was decided.
v1.3.2 — security fix and the decision records
Fixes the template-injection pattern in input handling (#51, by @nbuckwalt).
Also adds docs/adr/ — the reasoning behind this action: why it exists, what it inherited from apache/flink and ShubhamTatvamasi, what it deliberately does not do, and what is still open.
No behaviour changes. The swap-storage default change ships in the next release.
v1.3.1
What's Changed
- Remove haskell from different directory by @Napster134 in #20
New Contributors
- @Napster134 made their first contribution in #20
Full Changelog: v1.3.0...v1.3.1
v1.3.0
What's Changed
- Add Docker image removal option by @rake5k in #5
- Allow fails in Remove large packages by @kfir4444 in #8
- Fix for google-cloud-sdk renamed to google-cloud-cli by @andreped in #18
- Fix errors related to executing dotnet by @ywt114 in #16
- Fix large packages aspnetcore #9 by @hirnidrin in #11
New Contributors
- @rake5k made their first contribution in #5
- @kfir4444 made their first contribution in #8
- @andreped made their first contribution in #18
- @ywt114 made their first contribution in #16
- @hirnidrin made their first contribution in #11
Full Changelog: v1.2.0...v1.3.0
Fixed the `hhvm` missing dependency
New `tool-cache` option, v1.1.0
This version introduces the tool-cache option suggested by @miketimofeev, which removes the ~6GB tools cache (Node, Go, Python, Ruby, ...) that is preinstalled in GitHub Actions runners. This brings the total amount of space this extension can free to 31 GB.
Unlike the other options, since tool-cache can uninstall tools that are likely to be useful, it defaults to false, and must be explicitly set to true. In other words, this action:
name: Free Disk Space (Ubuntu)
on: push
jobs:
free-disk-space:
runs-on: ubuntu-latest
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
# this might remove tools that are actually needed,
# when set to "true" but frees about 6 GB
tool-cache: true
# all of these default to true, but feel free to set to
# "false" if necessary for your workflow
android: true
dotnet: true
haskell: true
large-packages: true
swap-storage: trueis equivalent to this:
name: Free Disk Space (Ubuntu)
on: push
jobs:
free-disk-space:
runs-on: ubuntu-latest
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
# this might remove tools that are actually needed,
# when set to "true" but frees about 6 GB
tool-cache: truePlease don't hesitate to suggest/request additional options.
Initial release, v1.0.0
This is the initial release of the "Free Disk Space" GitHub Action.
In this first version, it can clear up to 25 GB on a GitHub Actions Ubuntu runner. We will try to expand on the options to allow for freeing more disk space, and eventually to handle other runners besides Ubuntu/Linux.
This is the typical configuration:
name: Free Disk Space (Ubuntu)
on: push
jobs:
free-disk-space:
runs-on: ubuntu-latest
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
# all of these default to true, but feel free to set to
# false if necessary for your workflow
android: true
dotnet: true
haskell: true
large-packages: true
swap-storage: true