Help us shape the future of Go! Take the 2026 Go Developer Survey

upload

package
v1.125.0 Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultReleasePackageName = "release-assets"

DefaultReleasePackageName contains the name for the release asset package

Variables

This section is empty.

Functions

func AliasFilePaths added in v1.125.0

func AliasFilePaths(assets []*ReleaseAsset) ([]string, error)

AliasFilePaths returns the names of the assets whose deprecated filepath it moved to direct_asset_path.

func CreateLink(ctx context.Context, c *gitlab.Client, projectID, tagName string, asset *ReleaseAsset) (*gitlab.ReleaseLink, bool, error)

func ToReleaseAssetsOptions added in v1.125.0

func ToReleaseAssetsOptions(assets []*ReleaseAsset) *gitlab.ReleaseAssetsOptions

ToReleaseAssetsOptions ignores the deprecated filepath. Call AliasFilePaths first.

Types

type ConflictDirectAssetPathError

type ConflictDirectAssetPathError struct {
	// contains filtered or unexported fields
}

ConflictDirectAssetPathError is returned when both direct_asset_path and the deprecated filepath as specified for an asset link.

func (*ConflictDirectAssetPathError) Error

type Context

type Context struct {
	Client      *gitlab.Client
	IO          *iostreams.IOStreams
	AssetFiles  []*ReleaseFile
	AssetsLinks []*ReleaseAsset
}
func (c *Context) CreateReleaseAssetLinks(ctx context.Context, projectID string, tagName string) error

func (*Context) UploadAssetFiles added in v1.125.0

func (c *Context) UploadAssetFiles(ctx context.Context, projectID, tagName string, packageName string, usePackageRegistry bool) ([]*ReleaseAsset, error)

UploadAssetFiles does not link the files. The release may not exist yet.

func (*Context) UploadFiles

func (c *Context) UploadFiles(ctx context.Context, projectID, tagName string, packageName string, usePackageRegistry bool) error

UploadFiles uploads the asset files concurrently and then creates their release links in input order, so the release lists assets deterministically.

type ReleaseAsset

type ReleaseAsset struct {
	Name *string `json:"name,omitempty"`
	URL  *string `json:"url,omitempty"`
	// Deprecated FilePath use DirectAssetPath instead.
	FilePath        *string               `json:"filepath,omitempty"`
	DirectAssetPath *string               `json:"direct_asset_path,omitempty"`
	LinkType        *gitlab.LinkTypeValue `json:"link_type,omitempty"`
}

type ReleaseFile

type ReleaseFile struct {
	Open  func() (io.ReadCloser, error)
	Name  string
	Label string
	Path  string
	Type  *gitlab.LinkTypeValue
}

Jump to

Keyboard shortcuts

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