Files
gh-actions-cache/README.md
Sankalp Kotewar d3293b69e1 Added note regarding GHES support (#32)
* Added note regarding GHES support

Added a note about GHES support for the extension

* Added info regarding hostname use for GHES repos

* Implemented review comments
2022-09-20 12:00:01 +05:30

103 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# gh-actions-cache
✨ A GitHub (`gh`) [CLI](https://cli.github.com/) extension to manage the GitHub Actions [caches](https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows) being used in a GitHub repository.
It enables listing of active caches in a repo along with capability to filter by cache key or branch. This brings transparency, for example by showing how much storage quota a cache is consuming or which branch a cache was created for etc or how recently was the cache used.
It also allows deleting a corrupt, incomplete or dangling cache. A cache can be deleted by cache key. The key can be easily found either using the list capability or by looking at the cache action log in workflow run logs.
This extension builds on top of [cache management](https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#managing-caches) capabilities exposed by GitHub [APIs](https://docs.github.com/en/rest/actions/cache).
**Note:** This extension currently supports github.com only, GitHub Enterprise Server is not supported currently.
## Installation
1. Install the `gh` CLI - see the [installation](https://github.com/cli/cli#installation)
_Installation requires a minimum version (2.0.0) of the the GitHub CLI that supports extensions._
2. Install this extension:
gh extension install actions/gh-actions-cache
## Usage
gh actions-cache <command> [flags]
#### Commands:
S.No | Commands | Description
------------- | ------------- | -------------
1 | list | list caches with result length cap of 100
2 | delete | delete caches with a key
### List
List active Actions caches in a repository with ability to filter and sort.
```
USAGE:
gh actions-cache list [flags]
ARGUMENTS:
No Arguments
FLAGS:
-R, --repo <[HOST/]owner/repo> Select another repository using the [HOST/]OWNER/REPO format
-B, --branch <string> Filter by branch
-L, --limit <int> Maximum number of items to fetch (default is 30, max limit is 100)
--key <string> Filter by a key or key prefix
--order <string> Order of caches returned (asc/desc)
--sort <string> Sort fetched caches (last-used/size/created-at)
INHERITED FLAGS
--help Show help for command
EXAMPLES:
$ gh actions-cache list
$ gh actions-cache list --key 564-node-a68c45df0f45f888039d32cd3a579992574e837406488e8904431197f20521d6
$ gh actions-cache list --key 564-node- // key prefix match
$ gh actions-cache list -B main
$ gh actions-cache list -B refs/pull/2/merge // Use the full ref format for PR branches
$ gh actions-cache list --limit 100
$ gh actions-cache list --sort size --order desc // biggest caches first
```
### Delete
Deletes actions caches with specific cache key. It asks for confirmation before deletion.
```
USAGE:
gh actions-cache delete <key> [flags]
ARGUMENTS:
key cache key which needs to be deleted
FLAGS:
-R, --repo <[HOST/]owner/repo> Select another repository using the [HOST/]OWNER/REPO format
-B, --branch <string> Delete caches specific to branch. Use the full ref format e.g. refs/heads/main
--confirm Confirm deletion without prompting
INHERITED FLAGS
--help Show help for command
EXAMPLES:
$ gh actions-cache delete Linux-node-f5dbf39c9d11eba80242ac13
```
> There could be multiple caches in a repo with same key. This can happen when different caches with same key have been created for different branches. it may also happen if the `version` property of the cache is different which usually means that cache with same key was created for different OS or with different [paths](https://github.com/actions/cache#inputs).
## Contributing
If anything feels off, or if you feel that some functionality is missing, please check out the [contributing page](CONTRIBUTING.md). There you will find instructions for sharing your feedback, building the tool locally, and submitting pull requests to the project.