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

artifactcache

package
v0.2.90 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2026 License: MIT Imports: 20 Imported by: 2

Documentation

Overview

Package artifactcache provides a cache handler for the runner.

Inspired by https://github.com/sp-ricard-valverde/github-act-cache-server

TODO: Restrictions for accessing a cache, see https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#restrictions-for-accessing-a-cache TODO: Force deleting cache entries, see https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#force-deleting-cache-entries

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cache

type Cache struct {
	ID        uint64 `json:"id" boltholdKey:"ID"`
	Key       string `json:"key" boltholdIndex:"Key"`
	Version   string `json:"version" boltholdIndex:"Version"`
	Size      int64  `json:"cacheSize"`
	Complete  bool   `json:"complete" boltholdIndex:"Complete"`
	UsedAt    int64  `json:"usedAt" boltholdIndex:"UsedAt"`
	CreatedAt int64  `json:"createdAt" boltholdIndex:"CreatedAt"`
}

type Handler

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

func StartHandler

func StartHandler(dir, customExternalURL string, outboundIP string, port uint16, logger logrus.FieldLogger) (*Handler, error)

func (*Handler) Close

func (h *Handler) Close() error

func (*Handler) ExternalURL

func (h *Handler) ExternalURL() string

func (*Handler) GetActualPort added in v0.2.76

func (h *Handler) GetActualPort() int

type Request

type Request struct {
	Key     string `json:"key" `
	Version string `json:"version"`
	Size    int64  `json:"cacheSize"`
}

func (*Request) ToCache

func (c *Request) ToCache() *Cache

type Storage

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

func NewStorage

func NewStorage(rootDir string) (*Storage, error)

func (*Storage) Commit

func (s *Storage) Commit(id uint64, size int64) (int64, error)

func (*Storage) Exist

func (s *Storage) Exist(id uint64) (bool, error)

func (*Storage) Remove

func (s *Storage) Remove(id uint64)

func (*Storage) Serve

func (s *Storage) Serve(w http.ResponseWriter, r *http.Request, id uint64)

func (*Storage) Write

func (s *Storage) Write(id uint64, offset int64, reader io.Reader) error

Jump to

Keyboard shortcuts

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