Sankalp Kotewar 8365ebe619 Bugbash fixes and refactoring (#14)
* 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

* PR comments

* PR comments

* minor comment issue

* minor comment issue

* Added test cases for Delete

* updated tests to work with workflow

* Added missing error condition

* Updated tests to support new option service

* Improved eror handling for list

* Fixed test case

* Improved error handling

* Error handling and test cases for delete API calls

* Added test case for user confirmation delete.

* Removed unused import from test

* Fixed test case for error scenario

* Upgraded go-gh

* reusing rest client error

* Fix for failing windows test cases

* help cmd removed when cache isnt present on delete

* Pretty print ratio and space between cols modified

* Error handling wrapping

* Reverted back error message after silencing help

* Bugbash fixes for int limit, zero cache list msg

* Test case fixes for error message changes

* Handling no cache list scenario with(out) key

* Minor Refactoring and avoided code duplication

* Removed unused inputs after resolving conflicts

* Formatted test file

* removed err5xx as they all have same value.

* Removed err5xx from list as well

* Help and error message enhancements for list.

* changing commandname to avoid conflicts

* Ran `go fmt` formatter against all .go files

* Removed command from root.go

* Updated version to 1.0.0

Co-authored-by: t-dedah <t-dedah@github.com>
Co-authored-by: Deepak Dahiya <59823596+t-dedah@users.noreply.github.com>
2022-07-18 14:51:28 +05:30
2022-07-18 14:51:28 +05:30
2022-07-18 14:51:28 +05:30
2022-07-14 02:33:36 +05:30
2022-07-17 23:45:17 +05:30
2022-06-13 11:48:33 +05:30
2022-06-13 11:40:06 +05:30

gh-actions-cache

A GitHub (gh) CLI extension to manage the GitHub Actions caches 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 capabilities exposed by GitHub APIs.

Installation

  1. Install the gh CLI - see the 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.

Contributing

If anything feels off, or if you feel that some functionality is missing, please check out the contributing page. There you will find instructions for sharing your feedback, building the tool locally, and submitting pull requests to the project.

Description
Mirror of github.com/actions/gh-actions-cache
Readme 2.2 MiB
Languages
Go 100%