Added workflow for ci and release (#7)
* Completed List cmd and added API calls * Minor comments and add delete code to pass linting * Typo in descriptions * Minor comments * Validations * Validations-1 * improved branch flag validation * removed build * working after refactory with bad names * Command working, test not working * Corrected creation of service * Finalized structure using service * Deleted tests * cleanup * cleanup * cleanup * removed space with tab * aligned types in model.go * Update model.go * resolved comments * Refactor * removed long descriptions * Working incomplete tests * Completed tests * cleanup * checks * CI and release workflows * PR comments * PR comments * minor comment issue * minor comment issue * updated tests to work with workflow * Updated tests to support new option service * Improved eror handling for list * Improved error handling * Printing error in restclient * Nil in rest client * reverting changes * Release.md * Updates docs * Updates docs * Upgraded go-gh * added env in workflow * reusing rest client error * reusing sankalps fix for windows workflow * Revert "reusing sankalps fix for windows workflow" This reverts commit dfb1a94305b94b16a720bff599dba755f4a96175. * Other imp files for release * security.md * Updated contribution guidelines * Updated numberings to start with 1 * Update README.md (#15) * Update README.md * Update README.md * Update README.md * Updated contributing.md Co-authored-by: Sankalp Kotewar <kotewar@github.com> Co-authored-by: Bishal Prasad <bishal-pdmsft@github.com>
This commit is contained in:
100
README.md
100
README.md
@@ -1,28 +1,100 @@
|
||||
# gh-actions-cache
|
||||
|
||||
## Local Development
|
||||
✨ 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.
|
||||
|
||||
1. Build the extension using
|
||||
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.
|
||||
|
||||
go build
|
||||
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.
|
||||
|
||||
2. Install the extension
|
||||
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).
|
||||
|
||||
## 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]
|
||||
|
||||
|
||||
gh extension install <filepath-to-build>
|
||||
ARGUMENTS:
|
||||
No Arguments
|
||||
|
||||
|
||||
If you are already in the same directory use this `gh extension install .`
|
||||
|
||||
3. Run the command
|
||||
|
||||
gh actions-cache <command> [Flags]
|
||||
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)
|
||||
|
||||
|
||||
## Troubleshooting
|
||||
INHERITED FLAGS
|
||||
--help Show help for command
|
||||
|
||||
1. `symlink /Users/.../gh-actions-cache /Users/.../share/gh/extensions/gh-actions-cache: file exists`
|
||||
|
||||
Uninstall the current version of extension using
|
||||
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
|
||||
```
|
||||
|
||||
gh extension remove gh-actions-cache
|
||||
### 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.
|
||||
Reference in New Issue
Block a user