Skip to content

Releases: fluxcd/go-git-providers

v0.0.2

20 Aug 16:36
23a6b9a

Choose a tag to compare

CHANGELOG

  • PR #35 Generate release notes with goreleaser automatically
  • PR #34 Fix github.Client.Raw() return value
  • PR #32 Use Authorization header for Github PAT

v0.0.1

18 Aug 16:55
92426c1

Choose a tag to compare

v0.0.1

Welcome to the first release of go-git-providers 🚀! Let's walk through what goodness we have in here.

  • Client interfaces: godev
  • GitHub provider: godev

Release Notes

  • 🥇 Initial interfaces and types have been checked into the gitprovider directory, then refactored, improved, refactored and further made better 😄
  • :octocat: The GitHub provider has been implemented
  • ⌛ Conditional Requests have been implemented to avoid being rate limited using https://pkg.go.dev/github.com/gregjones/httpcache?tab=doc
  • 📝 Initial user documentation, and examples have been created
  • 🛡️ Automated integration tests for the GitHub client have been made, covering organizations and repositories
  • 📈 Code unit coverage is tracked by https://codecov.io, and linting is set up using https://golangci-lint.run/

Providers

Features

  • 🔒 Authentication: Personal Access Tokens, OAuth2 Tokens, and unauthenticated.
  • 📃 Pagination: List calls automatically return all available pages.
  • Conditional Requests: Asks the Git provider if cached data is up-to-date before requesting, to avoid being rate limited.
  • 🔄 Reconciling: Support reconciling desired state towards actual state and drift detection.
  • Low-level access: Access the underlying, provider-specific data easily, if needed, and support applying it to the server.
  • 📦 Wrapped errors: Data-rich, Go 1.14-errors are consistent across provider, including cases like rate limit, validation, not found, etc.
  • 🔭 Go modules: The major version is bumped if breaking changes, or major library upgrades are made.
  • 🛡️ Validation-first: Both server and user data is validated prior to manipulation.
  • 🗂️ URL Parsing: HTTPS user, organization and repository URLs can be parsed into machine-readable structs.
  • 🏷️ Enums: Consistent enums are used across providers for similar lists of values.
  • ⚙️ Domain customization: The user can specify their desired domain for the Git provider backend.
  • Context-first: context.Context is the first parameter for every API call.

Examples

Contributors

Thanks @stefanprodan @twelho @dinosk @luxas for your contributions.

v0.0.1-alpha.1

13 Aug 13:25
4ed5520

Choose a tag to compare

v0.0.1-alpha.1 Pre-release
Pre-release

v0.0.1-alpha.1

Just first alpha cut of v0.0.1. GitHub provider is implemented provisionally, but will become more stable over time.