Documentation
¶
Index ¶
- Variables
- type Client
- func (c *Client) GetLatestClientVersion() (latestVersion *version.Version, err error)
- func (c *Client) GetRepoURL() string
- func (c *Client) HasTaggedVersion(testVersion *version.Version) (hasTaggedVersion bool, err error)
- func (c *Client) NormalizeToTagVersion(v *version.Version) *version.Version
- func (c *Client) TagNameForVersion(v *version.Version) string
- type ClientRepoConfig
- type Options
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNoMatchingTaggedVersion indicates the client repo does not currently have an // eligible tag for the configured cluster. Callers may treat this as a soft skip. ErrNoMatchingTaggedVersion = errors.New("no matching tagged version available") )
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client represents a GitHub API client
func (*Client) GetLatestClientVersion ¶
GetLatestClientVersion gets the latest version from GitHub releases that match the given notes regex for the cluster and client
func (*Client) GetRepoURL ¶ added in v0.1.9
func (*Client) HasTaggedVersion ¶ added in v0.1.9
HasTaggedVersion checks if a tagged version exists in the client repo
func (*Client) NormalizeToTagVersion ¶ added in v0.1.14
NormalizeToTagVersion translates the running version reported by the validator RPC into its equivalent git tag version from the cached release list. This is necessary because several clients append a client-specific suffix to their git tags that the RPC does not include, or encode the version differently from the tag.
Jito-Solana:
- RPC reports: 4.0.0-beta.2
- Git tag: v4.0.0-beta.2-jito (or v3.1.10-jito.1)
- Strategy: strip -jito[.N] from each cached tag and compare to the running version
Agave:
- RPC reports: 2.2.8-beta.1
- Git tag: v2.2.8-beta.1 (no suffix — already matches)
- Strategy: direct equality match against cached tags
Firedancer:
- RPC may report: 0.902.0-beta.40002 or 0.33670.40002
- Git tag: v0.902.40002
- Strategy 1: match by feature-set (PATCH > 0), e.g. 0.33670.40002 → v0.902.40002
- Strategy 2: match by MAJOR.MINOR when PATCH is 0, e.g. 0.902.0 → v0.902.40002
If no match is found the running version is returned unchanged as a safe fallback.