mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-06-28 17:31:32 +08:00
🐛 fix(driver-agent): 修复 ES 驱动代理 revision 同步
- 补齐 Elasticsearch 在 revision 生成、变更检测和发布补齐脚本中的注册 - 生成 Elasticsearch 真实 driver-agent revision,避免 src-local 占位通过 - 本地测试版本改用 dev-latest driver-agent,避免退到旧 latest 包 - 增加 revision 测试覆盖,禁止可选驱动使用本地占位 revision
This commit is contained in:
@@ -4205,12 +4205,28 @@ func currentDriverReleaseTag() string {
|
||||
if currentVersion == "" || currentVersion == "0.0.0" {
|
||||
return ""
|
||||
}
|
||||
if strings.HasPrefix(strings.ToLower(currentVersion), "dev-") {
|
||||
if isDevelopmentDriverReleaseVersion(currentVersion) {
|
||||
return driverReleaseDevTag
|
||||
}
|
||||
return "v" + currentVersion
|
||||
}
|
||||
|
||||
func isDevelopmentDriverReleaseVersion(version string) bool {
|
||||
normalized := strings.ToLower(strings.TrimSpace(normalizeVersion(version)))
|
||||
if normalized == "" || normalized == "0.0.0" {
|
||||
return false
|
||||
}
|
||||
if strings.HasPrefix(normalized, "dev-") {
|
||||
return true
|
||||
}
|
||||
for _, marker := range []string{"-dev", "-test", "-local", "-snapshot"} {
|
||||
if strings.Contains(normalized, marker) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func driverReleaseDownloadURL(tag string, assetName string) string {
|
||||
tagName := strings.TrimSpace(tag)
|
||||
asset := strings.TrimSpace(assetName)
|
||||
|
||||
@@ -142,6 +142,7 @@ func optionalDriverAgentRevisionTestDrivers(t *testing.T) []string {
|
||||
"mongodb",
|
||||
"tdengine",
|
||||
"clickhouse",
|
||||
"elasticsearch",
|
||||
}
|
||||
for _, driverType := range drivers {
|
||||
if db.OptionalDriverAgentRevision(driverType) == "" {
|
||||
|
||||
@@ -54,6 +54,32 @@ func TestCurrentDriverReleaseTagUsesDevLatestForDevBuild(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestCurrentDriverReleaseTagUsesDevLatestForLocalTestBuild(t *testing.T) {
|
||||
originalVersion := AppVersion
|
||||
t.Cleanup(func() {
|
||||
AppVersion = originalVersion
|
||||
})
|
||||
|
||||
for _, version := range []string{"0.0.1-test", "0.7.9-dev", "0.7.9-local", "0.7.9-SNAPSHOT"} {
|
||||
AppVersion = version
|
||||
if got := currentDriverReleaseTag(); got != driverReleaseDevTag {
|
||||
t.Fatalf("expected %s to use dev driver release tag %q, got %q", version, driverReleaseDevTag, got)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestCurrentDriverReleaseTagUsesVersionedReleaseForStableBuild(t *testing.T) {
|
||||
originalVersion := AppVersion
|
||||
AppVersion = "0.7.9"
|
||||
t.Cleanup(func() {
|
||||
AppVersion = originalVersion
|
||||
})
|
||||
|
||||
if got := currentDriverReleaseTag(); got != "v0.7.9" {
|
||||
t.Fatalf("expected stable driver release tag v0.7.9, got %q", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestResolveOptionalDriverBundleDownloadURLsUsesDriverReleaseRepo(t *testing.T) {
|
||||
originalVersion := AppVersion
|
||||
AppVersion = "0.7.4"
|
||||
|
||||
Reference in New Issue
Block a user