zu1k / nali

An offline tool for querying IP geographic information and CDN provider. 一个查询IP地理信息和CDN服务提供商的离线终端工具.
https://github.com/zu1k/nali
MIT License
3.74k stars 340 forks source link

fix: fix self-update bugs #178

Closed DateBro closed 11 months ago

DateBro commented 11 months ago
  1. added -v for update command, only update binary when -v is assigned;
  2. removed the reference to semver library, implemented repo version compare functions;
  3. edited release-aur-git rule in go.yml, won't replace the hyphen to dot in release version;

tested on mac:

# old arch release version naming, can update binary
 ~/Documents/code_projects/nali/mine/nali  git tag v0.7.1.r15.g43a3080
 ~/Documents/code_projects/nali/mine/nali  make darwin-arm64
GOARCH=arm64 GOOS=darwin CGO_ENABLED=0 go build -trimpath -ldflags '-X "github.com/zu1k/nali/internal/constant.Version=v0.7.1.r15.g43a3080" -w -s' -o bin/nali-darwin-arm64
 ~/Documents/code_projects/nali/mine/nali  ./bin/nali-darwin-arm64 -v        
nali version v0.7.1.r15.g43a3080
 ~/Documents/code_projects/nali/mine/nali  ./bin/nali-darwin-arm64 update --v
2023/09/28 16:36:12 Updating /Users/zhaozhiyong/Documents/code_projects/nali/mine/nali/bin/nali-darwin-arm64 to v0.7.3 
2023/09/28 16:36:12 Successfully updated to version v0.7.3 
2023/09/28 16:36:12 正在下载最新 qqwry 数据库...
2023/09/28 16:36:15 qqwry 数据库下载成功: qqwry.dat
2023/09/28 16:36:15 正在下载最新 ZX IPv6数据库...
2023/09/28 16:36:16 已将最新的 ZX IPv6数据库 保存到本地: [zxipv6wry.db]
2023/09/28 16:36:16 正在下载最新 ip2region 数据库...
2023/09/28 16:36:18 ip2region 数据库下载成功: ip2region.xdb
2023/09/28 16:36:18 正在下载最新 cdn 数据库...
2023/09/28 16:36:18 cdn 数据库下载成功: cdn.yml

# old arch release version naming, no need to update
 ~/Documents/code_projects/nali/mine/nali  git tag v0.7.3.r15.g43a3080
 ~/Documents/code_projects/nali/mine/nali  make darwin-arm64
GOARCH=arm64 GOOS=darwin CGO_ENABLED=0 go build -trimpath -ldflags '-X "github.com/zu1k/nali/internal/constant.Version=v0.7.3.r15.g43a3080" -w -s' -o bin/nali-darwin-arm64
 ~/Documents/code_projects/nali/mine/nali  ./bin/nali-darwin-arm64 -v        
nali version v0.7.3.r15.g43a3080
 ~/Documents/code_projects/nali/mine/nali  ./bin/nali-darwin-arm64 update --v
2023/09/28 16:36:47 current version is already the latest version, no update 
2023/09/28 16:36:47 正在下载最新 qqwry 数据库...
2023/09/28 16:36:50 qqwry 数据库下载成功: qqwry.dat
2023/09/28 16:36:50 正在下载最新 ZX IPv6数据库...
2023/09/28 16:36:52 已将最新的 ZX IPv6数据库 保存到本地: [zxipv6wry.db]
2023/09/28 16:36:52 正在下载最新 ip2region 数据库...
2023/09/28 16:36:53 ip2region 数据库下载成功: ip2region.xdb
2023/09/28 16:36:53 正在下载最新 cdn 数据库...
2023/09/28 16:36:53 cdn 数据库下载成功: cdn.yml

# old arch release version naming, won't update binary if -v is not specified
 ~/Documents/code_projects/nali/mine/nali  ./bin/nali-darwin-arm64 update    
2023/09/28 16:37:00 正在下载最新 qqwry 数据库...
2023/09/28 16:37:03 qqwry 数据库下载成功: qqwry.dat
2023/09/28 16:37:03 正在下载最新 ZX IPv6数据库...
2023/09/28 16:37:04 已将最新的 ZX IPv6数据库 保存到本地: [zxipv6wry.db]
2023/09/28 16:37:04 正在下载最新 ip2region 数据库...
2023/09/28 16:37:06 ip2region 数据库下载成功: ip2region.xdb
2023/09/28 16:37:06 正在下载最新 cdn 数据库...
2023/09/28 16:37:06 cdn 数据库下载成功: cdn.yml

# new arch release version naming, can update binary
 ~/Documents/code_projects/nali/mine/nali  git tag v0.7.1-0-gd6f6665  
 ~/Documents/code_projects/nali/mine/nali  make darwin-arm64
GOARCH=arm64 GOOS=darwin CGO_ENABLED=0 go build -trimpath -ldflags '-X "github.com/zu1k/nali/internal/constant.Version=v0.7.1-0-gd6f6665" -w -s' -o bin/nali-darwin-arm64
 ~/Documents/code_projects/nali/mine/nali  ./bin/nali-darwin-arm64 -v        
nali version v0.7.1-0-gd6f6665
 ~/Documents/code_projects/nali/mine/nali  ./bin/nali-darwin-arm64 update --v
2023/09/28 16:37:43 Updating /Users/zhaozhiyong/Documents/code_projects/nali/mine/nali/bin/nali-darwin-arm64 to v0.7.3 
2023/09/28 16:37:43 Successfully updated to version v0.7.3 
2023/09/28 16:37:43 正在下载最新 qqwry 数据库...
2023/09/28 16:37:46 qqwry 数据库下载成功: qqwry.dat
2023/09/28 16:37:46 正在下载最新 ZX IPv6数据库...
2023/09/28 16:37:47 已将最新的 ZX IPv6数据库 保存到本地: [zxipv6wry.db]
2023/09/28 16:37:47 正在下载最新 ip2region 数据库...
2023/09/28 16:37:50 ip2region 数据库下载成功: ip2region.xdb
2023/09/28 16:37:50 正在下载最新 cdn 数据库...
2023/09/28 16:37:50 cdn 数据库下载成功: cdn.yml

# normal release version naming, no need to update
 ~/Documents/code_projects/nali/mine/nali  git tag v0.7.3
 ~/Documents/code_projects/nali/mine/nali  make darwin-arm64
GOARCH=arm64 GOOS=darwin CGO_ENABLED=0 go build -trimpath -ldflags '-X "github.com/zu1k/nali/internal/constant.Version=v0.7.3" -w -s' -o bin/nali-darwin-arm64
 ~/Documents/code_projects/nali/mine/nali  ./bin/nali-darwin-arm64 -v        
nali version v0.7.3
 ~/Documents/code_projects/nali/mine/nali  ./bin/nali-darwin-arm64 update --v
2023/09/28 16:38:28 current version is already the latest version, no update 
2023/09/28 16:38:28 正在下载最新 qqwry 数据库...
2023/09/28 16:38:29 qqwry 数据库下载成功: qqwry.dat
2023/09/28 16:38:29 正在下载最新 ZX IPv6数据库...
2023/09/28 16:38:31 已将最新的 ZX IPv6数据库 保存到本地: [zxipv6wry.db]
2023/09/28 16:38:31 正在下载最新 ip2region 数据库...
2023/09/28 16:38:33 ip2region 数据库下载成功: ip2region.xdb
2023/09/28 16:38:33 正在下载最新 cdn 数据库...
2023/09/28 16:38:33 cdn 数据库下载成功: cdn.yml

# normal release version naming, can update
 ~/Documents/code_projects/nali/mine/nali  git tag v0.7.1
 ~/Documents/code_projects/nali/mine/nali  make darwin-arm64
GOARCH=arm64 GOOS=darwin CGO_ENABLED=0 go build -trimpath -ldflags '-X "github.com/zu1k/nali/internal/constant.Version=v0.7.1" -w -s' -o bin/nali-darwin-arm64
 ~/Documents/code_projects/nali/mine/nali  ./bin/nali-darwin-arm64 -v        
nali version v0.7.1
 ~/Documents/code_projects/nali/mine/nali  ./bin/nali-darwin-arm64 update --v
2023/09/28 16:38:50 Updating /Users/zhaozhiyong/Documents/code_projects/nali/mine/nali/bin/nali-darwin-arm64 to v0.7.3 
2023/09/28 16:38:50 Successfully updated to version v0.7.3 
2023/09/28 16:38:50 正在下载最新 qqwry 数据库...
2023/09/28 16:38:54 qqwry 数据库下载成功: qqwry.dat
2023/09/28 16:38:54 正在下载最新 ZX IPv6数据库...
2023/09/28 16:38:55 已将最新的 ZX IPv6数据库 保存到本地: [zxipv6wry.db]
2023/09/28 16:38:55 正在下载最新 ip2region 数据库...
2023/09/28 16:38:57 ip2region 数据库下载成功: ip2region.xdb
2023/09/28 16:38:57 正在下载最新 cdn 数据库...
2023/09/28 16:38:57 cdn 数据库下载成功: cdn.yml
zu1k commented 11 months ago

thanks