Skip to content

Commit

Permalink
bugfix: Skip synchronization if IPs are up-to-date.
Browse files Browse the repository at this point in the history
  • Loading branch information
jharshman committed Jun 16, 2023
1 parent 8163144 commit c8281b4
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 4 deletions.
6 changes: 6 additions & 0 deletions cmd/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ func Update() *cobra.Command {

// Local variable shared between the closures.
var local *user.Config
var skipSync bool

return &cobra.Command{
Use: "update",
Expand All @@ -36,6 +37,7 @@ func Update() *cobra.Command {
currentIP, _ := user.PublicIP()
_, ipExists := cfg.HasIP(currentIP)
if ipExists {
skipSync = true
return nil
}

Expand All @@ -53,6 +55,10 @@ func Update() *cobra.Command {
return cfg.Write(f)
},
PostRunE: func(cmd *cobra.Command, args []string) error {
if skipSync {
fmt.Println("IPs are up-to-date, skipping sync.")
return nil
}
fmt.Println("syncing firewall rule")
return synchronize(local)
},
Expand Down
18 changes: 14 additions & 4 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,18 +34,28 @@ connecting from and keeps your development VM firewall rule up to date with that
}
fmt.Println("Operation complete, no errors.")

notifyIfUpdateAvailable()
err := notifyIfUpdateAvailable()
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
}

func notifyIfUpdateAvailable() {
cli, _ := ghapi.DefaultRESTClient()
func notifyIfUpdateAvailable() error {
cli, err := ghapi.DefaultRESTClient()
if err != nil {
return err
}
latestTag := struct {
Tag string `json:"tag_name"`
}{}
cli.Get("repos/jharshman/fwsync/releases/latest", &latestTag)
err = cli.Get("repos/jharshman/fwsync/releases/latest", &latestTag)
if err != nil {
return err
}
tag := strings.TrimPrefix(latestTag.Tag, "v")
if tag != version {
fmt.Printf("\n\033[0;32mA new version (%q) is available for fwsync.\033[0m\n", latestTag.Tag)
fmt.Printf("\033[0;32mTo update run:\ncurl https://raw.githubusercontent.com/jharshman/fwsync/master/install.sh | sh\033[0m\n")
}
return nil
}

0 comments on commit c8281b4

Please sign in to comment.