Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
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.