mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-01-10 03:47:03 +02:00
e92bbe32ce
* makes context tokentype a public var * passes artifacts object into client upload function. extracts gitlab upload hash from url * adds gitlab url to brew config * build brew formula depending on token type * fixes client for release tests * fixes exiting brew tests * fixes scoop test with dummy client adaption * uses new artifact upload hash * fixes brew usage * updates gitlab createFile for brew * fixes logging for non-existing file in gitlab logging * fix: gitlab createFile * fix: removes encoding from gitlab create and update file opts * fix: gitlab upload and artifact set upload hash * fix: linter * changed artifact item to a pointer in ctx * docs: updates homebrew * feat: enables scoop for gitlab release * fix: scoop panic for pointer access * chore: rename formula build func for brew * chore: brew removes comments * fix: brew tests * test: updates brew tests * docs: updates homebrew * test: for token type not implemented for brew * tests: for multiple linux builds * fix: build artifacts are pointer in scoop * test: for scoop and gitlab * test: for artifacts set upload hash * adds missing files after adaption * chore: removes and clarifies comments * fix: moves artifact upload hash to extra map * adds comment why we initialize the extra map
36 lines
1008 B
Go
36 lines
1008 B
Go
// Package client contains the client implementations for several providers.
|
|
package client
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/goreleaser/goreleaser/internal/artifact"
|
|
"github.com/goreleaser/goreleaser/pkg/config"
|
|
"github.com/goreleaser/goreleaser/pkg/context"
|
|
)
|
|
|
|
// Info of the repository
|
|
type Info struct {
|
|
Description string
|
|
Homepage string
|
|
URL string
|
|
}
|
|
|
|
// Client interface
|
|
type Client interface {
|
|
CreateRelease(ctx *context.Context, body string) (releaseID string, err error)
|
|
CreateFile(ctx *context.Context, commitAuthor config.CommitAuthor, repo config.Repo, content []byte, path, message string) (err error)
|
|
Upload(ctx *context.Context, releaseID string, artifact *artifact.Artifact, file *os.File) (err error)
|
|
}
|
|
|
|
// New creates a new client depending on the token type
|
|
func New(ctx *context.Context) (Client, error) {
|
|
if ctx.TokenType == context.TokenTypeGitHub {
|
|
return NewGitHub(ctx)
|
|
}
|
|
if ctx.TokenType == context.TokenTypeGitLab {
|
|
return NewGitLab(ctx)
|
|
}
|
|
return nil, nil
|
|
}
|