samueldr/More Space Action
Aggressively makes space in a GitHub runner
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| additional-apt-patterns | Additional patterns to autopurge with apt. > [!WARNING] > This single string will be split according to bash string splitting semantics. | no | "" |
| enable-remove-default-apt-patterns | Enable the built-in list of patterns to autopurge. This effectively disables autopurging if disabled, when no additional patterns are provided. | no | true |
| additional-space-hogs | Additional paths to remove. > [!WARNING] > This single string will be split according to bash string splitting semantics. | no | "" |
| enable-remove-default-space-hogs | Enable the built-in list of space hogs to remove. | no | true |
| enable-remove-non-package-usr | Enable removing some content from `/usr/` that is not managed by the package manager. (This will not remove `/usr/local` content.) | no | true |
| enable-remove-default-home-folder-hogs | Enable the built-in list of home folder hogs to remove. | no | true |
| enable-remove-home-folder-hogs | Enable removing some large content from the different `/home/` folders. | no | true |
| enable-remove-usr-local | Enable removing `/usr/local` entirely. It is not managed by the package manager. | no | true |
| enable-docker-prune-all | Enable pruning all docker images from system. Some older images shipped with around 2.5GiB of wasted space from docker images. | no | true |
| enable-second-drive-harmonization | When enabled, if a second drive is attached to the runner (it likely is with GitHub's runners), the attached drive will be configured to work similarly on all systems: - The secondary disk (if needed) will be formatted and mounted to `/mnt` - Swap file will be put in the preferred location (see: `swapfile-location`) This option, in itself, saves no space, but ensures further steps can run under an expected disk layout. | no | true |
| enable-swapfile | When harmonizing the drives, the existing swapfile will be removed. When this option is enabled, a swapfile is created back in the system. This option can be used to effectively disable the swapfile entirely. A swapfile is used by default, just like GitHub's runners do by default. | — | true |
| swapfile-location | Determine where the swapfile should be created. GitHub's runners defaults differ: - AArch64: /swapfile - x86_64: /mnt/swapfile | no | /swapfile |
| swapfile-size | Determine the swapfile size. GitHub's runners defaults differ: - AArch64: 3GB - x86_64: 4GB The value is passed to fallocate. | no | 4GiB |
| enable-lvm-span | When enabled, files will be created at the listed locations, The mountpoint will be left untouched, meaning that chmod or chown is likely to be needed to make use of it in your actions. > [!NOTE] > This option makes no sense to enable without `enable-second-drive-harmonization` being enabled. > [!WARNING] > If setting-up the lvm span fails, at any point, the action will fail. > > Enabling this option means it is necessary for the span to be created. | no | false |
| lvm-span-mountpoint | Loction the lvm span will be mounted as | no | /misc |
| lvm-span-mountpoints | Mountpoints under which a file for the LVM span will be created. | no | / /mnt |
| lvm-span-default-free-space | This numeric option describes the amount of bytes that will be left free by default on drives with an LVM span. The default value leaves 100MiB free on any given disk. See also: `lvm-span-free-space` | no | 104857600 |
| lvm-span-free-space | JSON object listing amount of free space to be left on specific mountpoints. The default leaves 1GiB free on the rootfs. See also: `lvm-span-default-free-space` | no | { "/": "1073741824" } |
| verbose | When enabled, this action may be overly verbose. | no | false |
| dry-run | When enabled, this action will stub out all system altering commands. | no | false |
Outputs
no outputs