ReleaseVersion derives the plugin version from the release tag, stripping a leading "v"/"V" and validating the result.
(release Release)
| 106 | // ReleaseVersion derives the plugin version from the release tag, stripping a |
| 107 | // leading "v"/"V" and validating the result. |
| 108 | func ReleaseVersion(release Release) (string, error) { |
| 109 | version := normalizeVersion(release.TagName) |
| 110 | if !validPluginVersion(version) { |
| 111 | return "", fmt.Errorf("invalid release tag %q", release.TagName) |
| 112 | } |
| 113 | return version, nil |
| 114 | } |
| 115 | |
| 116 | func (c Client) DownloadAsset(ctx context.Context, asset ReleaseAsset) ([]byte, error) { |
| 117 | downloadURL := strings.TrimSpace(asset.BrowserDownloadURL) |