Skip to content

Releases: fluxcd/go-git-providers

v0.3.2

18 Nov 08:36
f3378ec
Compare
Choose a tag to compare

CHANGELOG

  • PR #127 Update employer in MAINTAINERS file
  • PR #126 [Stash] Add methods to generate a clone url for a specific provider.
  • PR #125 [Stash] Fix SupportedDomain(), to make it return a host and not a full url

v0.3.1

08 Nov 15:51
d57d0e6
Compare
Choose a tag to compare

CHANGELOG

  • PR #124 Sort maintainers in alphabetical order
  • PR #123 [Stash] Revert log.Logger to v0.4.0 for compatibility with flux2.
  • PR #121 Add org affinity for dinosk
  • PR #120 [Stash] Add the logic to reconcile default branch.
  • PR #119 Add soule ba as a maintainer

v0.3.0

26 Oct 11:50
ecbdf14
Compare
Choose a tag to compare

This release comes with support for Stash (Bitbucket server).

CHANGELOG

  • PR #118 Set GH token for goreleaser
  • PR #117 Updates Git SaaS providers
  • PR #116 [MAINTAINERS] Add org affinity for Yiannis
  • PR #115 [Stash] Update secret needed for running e2e tests
  • PR #114 [Stash] Implement gitprovider interfaces
  • PR #113 Switch to "ListProjectMergeRequests" for GitLab
  • PR #112 [Stash] Add deploy keys service for stash
  • PR #111 Add PR List, Get and Merge support for GitHub and GitLab
  • PR #110 [Stash] Go stash pr service
  • PR #109 [Stash] Go stash commit service
  • PR #108 [Stash] Go stash branch service
  • PR #107 [Stash] Go stash repository service
  • PR #106 add gitlab group err
  • PR #105 [Stash] add a gitService
  • PR #104 [Stash] adds projects service to the gostash client
  • PR #103 [Stash] This add the stash client service GroupService
  • PR #101 [Stash] Implement user service operations
  • PR #100 adding a linter
  • PR #99 fix often failing e2e tests
  • PR #98 upgrade Go version to 1.16
  • PR #96 add url link to commits
  • PR #95 Refactors clientOption struct due to duplication
  • PR #94 [Stash support]Add a http client.
  • PR #93 Add emeritus maintainers
  • PR #92 Remove @michaelbeaumont from MAINTAINERS
  • PR #91 Update contact info in MAINTAINERS file
  • PR #90 add more info to CommitInfo
  • PR #87 update docs location
  • PR #86 Add retries to integration tests
  • PR #85 Support running tests in forked repository workflow

v0.2.0

16 Jun 15:23
0155ef7
Compare
Choose a tag to compare

CHANGELOG

  • PR #83 Return WebURL of newly created pull request

v0.1.1

06 May 08:02
1e9523c
Compare
Choose a tag to compare

CHANGELOG

  • PR #82 Add issue template
  • PR #79 Updated gitlab dependency to v0.43.0

v0.1.0

30 Apr 10:34
f05c9fd
Compare
Choose a tag to compare

CHANGELOG

  • PR #78 Generates deploy keys in each integration test run
  • PR #74 Add support for managing branches, PRs and commits

v0.0.3

30 Sep 09:30
21fdf0b
Compare
Choose a tag to compare

CHANGELOG

  • PR #53 Implement HasTokenPermission to ensure token has requested permission
  • PR #51 Adds Gitlab provider
  • PR #50 Add Yiannis to maintainers
  • PR #49 Add TokenVariable to github
  • PR #48 Adds Simon to maintainers
  • PR #47 Update default integration test user
  • PR #46 Add Dinos to maintainers
  • PR #45 Remove Lucas from MAINTAINERS file
  • PR #42 Set private field in github repo creation
  • PR #38 Add Mike Beaumont to maintainers

v0.0.2

20 Aug 16:36
23a6b9a
Compare
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
Compare
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
Compare
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.