nats-upload: support just cleaning
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -27,3 +27,4 @@ go.work.sum
|
||||
|
||||
./bin
|
||||
bin
|
||||
nats-upload
|
||||
|
||||
7
main.go
7
main.go
@@ -28,11 +28,12 @@ func main() {
|
||||
skipNotify = flag.Bool("skip-notify", getEnvBool("INPUT_SKIP_NOTIFY", false), "Skip publishing update notification")
|
||||
cleanup = flag.Int("cleanup", getEnvInt("INPUT_CLEANUP", 0), "Keep only N most recent versions (0 disables cleanup)")
|
||||
cleanupAll = flag.Bool("cleanup-all", getEnvBool("INPUT_CLEANUP_ALL", false), "Cleanup all binaries, not just current one")
|
||||
justClean = flag.Bool("just-clean", getEnvBool("INPUT_JUST_CLEAN", false), "Dont upload, just cleanup old versions")
|
||||
)
|
||||
flag.Parse()
|
||||
|
||||
if *directory == "" {
|
||||
log.Fatal("Directory path is required")
|
||||
if *directory == "" && *cleanup == 0 && *justClean == false {
|
||||
log.Fatal("Directory path is required or cleanup must be enabled")
|
||||
}
|
||||
|
||||
ctx := context.Background()
|
||||
@@ -60,6 +61,7 @@ func main() {
|
||||
log.Printf("Created object store: %s", *bucketName)
|
||||
}
|
||||
|
||||
if *directory != "" && *justClean == false {
|
||||
err = filepath.Walk(*directory, func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -109,6 +111,7 @@ func main() {
|
||||
}
|
||||
|
||||
log.Printf("Successfully uploaded all files from %s to NATS object store '%s'", *directory, *bucketName)
|
||||
}
|
||||
|
||||
if *cleanup > 0 {
|
||||
log.Printf("Cleaning up old versions, keeping %d most recent", *cleanup)
|
||||
|
||||
Reference in New Issue
Block a user