github

package
v0.1.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 22, 2026 License: MIT Imports: 9 Imported by: 0

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 NewClient

func NewClient(opts Options) (c *Client, err error)

NewClient creates a new GitHub client

func (*Client) GetLatestClientVersion

func (c *Client) GetLatestClientVersion() (latestVersion *version.Version, err error)

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 (c *Client) GetRepoURL() string

func (*Client) HasTaggedVersion added in v0.1.9

func (c *Client) HasTaggedVersion(testVersion *version.Version) (hasTaggedVersion bool, err error)

HasTaggedVersion checks if a tagged version exists in the client repo

func (*Client) NormalizeToTagVersion added in v0.1.14

func (c *Client) NormalizeToTagVersion(v *version.Version) *version.Version

NormalizeToTagVersion translates a running version to its equivalent tag version.

Firedancer reports its version differently depending on the source:

  • GitHub tags use EPOCH.RELEASE.FEATURESET (e.g. v0.902.40002)
  • Solana RPC getVersion solana-core field may return EPOCH.RELEASE.0 (e.g. 0.902.0) when the feature-set is not embedded in the version string
  • After firedancer PR #8945 the binary/RPC may report EPOCH.COMMITCOUNT.FEATURESET (e.g. 0.33670.40002) where COMMITCOUNT differs from RELEASE

To bridge these representations we try two matching strategies in order:

  1. Feature-set match (PATCH component): works when the running version embeds the feature-set (PATCH > 0), e.g. 0.33670.40002 → v0.902.40002
  2. MAJOR.MINOR match: works when the running version reports PATCH as 0, e.g. 0.902.0 → v0.902.40002

For all other clients the version is returned unchanged.

type ClientRepoConfig

type ClientRepoConfig struct {
	URL                 string
	ReleaseNotesRegexes map[string]string
	ReleaseTitleRegexes map[string]string
}

ClientRepoConfig represents the configuration for a client source repository

type Options

type Options struct {
	Cluster string
	Client  string
}

Options represents the options for creating a new GitHub client

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL