Documentation
¶
Index ¶
- func GetDockerClient(ctx context.Context) (cli client.APIClient, err error)
- func GetHostInfo(ctx context.Context) (info types.Info, err error)
- func ImageExistsLocally(ctx context.Context, imageName string, platform string) (bool, error)
- func LoadDockerAuthConfig(ctx context.Context, image string) (registry.AuthConfig, error)
- func LoadDockerAuthConfigs(ctx context.Context) map[string]registry.AuthConfig
- func NewDockerBuildExecutor(input NewDockerBuildExecutorInput) common.Executor
- func NewDockerPullExecutor(input NewDockerPullExecutorInput) common.Executor
- func NewDockerVolumeRemoveExecutor(volumeName string, force bool) common.Executor
- func RemoveImage(ctx context.Context, imageName string, force bool, pruneChildren bool) (bool, error)
- func RunnerArch(ctx context.Context) string
- type Container
- type ExecutionsEnvironment
- type FileEntry
- type HostEnvironment
- func (e *HostEnvironment) Close() common.Executor
- func (e *HostEnvironment) Copy(destPath string, files ...*FileEntry) common.Executor
- func (e *HostEnvironment) CopyDir(destPath string, srcPath string, useGitIgnore bool) common.Executor
- func (e *HostEnvironment) Create(_ []string, _ []string) common.Executor
- func (e *HostEnvironment) DefaultPathVariable() string
- func (e *HostEnvironment) Exec(command []string, env map[string]string, user, workdir string) common.Executor
- func (e *HostEnvironment) GetActPath() string
- func (e *HostEnvironment) GetContainerArchive(ctx context.Context, srcPath string) (io.ReadCloser, error)
- func (*HostEnvironment) GetPathVariableName() string
- func (e *HostEnvironment) GetRunnerContext(_ context.Context) map[string]interface{}
- func (*HostEnvironment) IsEnvironmentCaseInsensitive() bool
- func (*HostEnvironment) JoinPathVariable(paths ...string) string
- func (e *HostEnvironment) Pull(_ bool) common.Executor
- func (e *HostEnvironment) Remove() common.Executor
- func (e *HostEnvironment) ReplaceLogWriter(stdout io.Writer, _ io.Writer) (io.Writer, io.Writer)
- func (e *HostEnvironment) Start(_ bool) common.Executor
- func (e *HostEnvironment) ToContainerPath(path string) string
- func (e *HostEnvironment) UpdateFromEnv(srcPath string, env *map[string]string) common.Executor
- func (e *HostEnvironment) UpdateFromImageEnv(_ *map[string]string) common.Executor
- type LinuxContainerEnvironmentExtensions
- func (*LinuxContainerEnvironmentExtensions) DefaultPathVariable() string
- func (*LinuxContainerEnvironmentExtensions) GetActPath() string
- func (*LinuxContainerEnvironmentExtensions) GetPathVariableName() string
- func (*LinuxContainerEnvironmentExtensions) GetRunnerContext(ctx context.Context) map[string]interface{}
- func (*LinuxContainerEnvironmentExtensions) IsEnvironmentCaseInsensitive() bool
- func (*LinuxContainerEnvironmentExtensions) JoinPathVariable(paths ...string) string
- func (*LinuxContainerEnvironmentExtensions) ToContainerPath(path string) string
- type NewContainerInput
- type NewDockerBuildExecutorInput
- type NewDockerPullExecutorInput
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetDockerClient ¶ added in v0.2.9
func GetHostInfo ¶ added in v0.2.26
func ImageExistsLocally ¶
ImageExistsLocally returns a boolean indicating if an image with the requested name, tag and architecture exists in the local docker image store
func LoadDockerAuthConfig ¶ added in v0.2.26
func LoadDockerAuthConfigs ¶ added in v0.2.36
func LoadDockerAuthConfigs(ctx context.Context) map[string]registry.AuthConfig
func NewDockerBuildExecutor ¶
func NewDockerBuildExecutor(input NewDockerBuildExecutorInput) common.Executor
NewDockerBuildExecutor function to create a run executor for the container
func NewDockerPullExecutor ¶
func NewDockerPullExecutor(input NewDockerPullExecutorInput) common.Executor
NewDockerPullExecutor function to create a run executor for the container
func NewDockerVolumeRemoveExecutor ¶ added in v0.2.2
func RemoveImage ¶ added in v0.2.22
func RemoveImage(ctx context.Context, imageName string, force bool, pruneChildren bool) (bool, error)
RemoveImage removes image from local store, the function is used to run different container image architectures
func RunnerArch ¶ added in v0.2.31
Arch fetches values from docker info and translates architecture to GitHub actions compatible runner.arch values https://github.com/github/docs/blob/main/data/reusables/actions/runner-arch-description.md
Types ¶
type Container ¶ added in v0.2.2
type Container interface {
Create(capAdd []string, capDrop []string) common.Executor
Copy(destPath string, files ...*FileEntry) common.Executor
CopyDir(destPath string, srcPath string, useGitIgnore bool) common.Executor
GetContainerArchive(ctx context.Context, srcPath string) (io.ReadCloser, error)
Pull(forcePull bool) common.Executor
Start(attach bool) common.Executor
Exec(command []string, env map[string]string, user, workdir string) common.Executor
UpdateFromEnv(srcPath string, env *map[string]string) common.Executor
UpdateFromImageEnv(env *map[string]string) common.Executor
Remove() common.Executor
Close() common.Executor
ReplaceLogWriter(io.Writer, io.Writer) (io.Writer, io.Writer)
}
Container for managing docker run containers
type ExecutionsEnvironment ¶ added in v0.2.34
type ExecutionsEnvironment interface {
Container
ToContainerPath(string) string
GetActPath() string
GetPathVariableName() string
DefaultPathVariable() string
JoinPathVariable(...string) string
GetRunnerContext(ctx context.Context) map[string]interface{}
// On windows PATH and Path are the same key
IsEnvironmentCaseInsensitive() bool
}
func NewContainer ¶ added in v0.2.2
func NewContainer(input *NewContainerInput) ExecutionsEnvironment
NewContainer creates a reference to a container
type HostEnvironment ¶ added in v0.2.34
type HostEnvironment struct {
Path string
TmpDir string
ToolCache string
Workdir string
ActPath string
CleanUp func()
StdOut io.Writer
}
func (*HostEnvironment) Close ¶ added in v0.2.34
func (e *HostEnvironment) Close() common.Executor
func (*HostEnvironment) Copy ¶ added in v0.2.34
func (e *HostEnvironment) Copy(destPath string, files ...*FileEntry) common.Executor
func (*HostEnvironment) Create ¶ added in v0.2.34
func (e *HostEnvironment) Create(_ []string, _ []string) common.Executor
func (*HostEnvironment) DefaultPathVariable ¶ added in v0.2.34
func (e *HostEnvironment) DefaultPathVariable() string
func (*HostEnvironment) GetActPath ¶ added in v0.2.34
func (e *HostEnvironment) GetActPath() string
func (*HostEnvironment) GetContainerArchive ¶ added in v0.2.34
func (e *HostEnvironment) GetContainerArchive(ctx context.Context, srcPath string) (io.ReadCloser, error)
func (*HostEnvironment) GetPathVariableName ¶ added in v0.2.34
func (*HostEnvironment) GetPathVariableName() string
func (*HostEnvironment) GetRunnerContext ¶ added in v0.2.34
func (e *HostEnvironment) GetRunnerContext(_ context.Context) map[string]interface{}
func (*HostEnvironment) IsEnvironmentCaseInsensitive ¶ added in v0.2.45
func (*HostEnvironment) IsEnvironmentCaseInsensitive() bool
func (*HostEnvironment) JoinPathVariable ¶ added in v0.2.34
func (*HostEnvironment) JoinPathVariable(paths ...string) string
func (*HostEnvironment) Pull ¶ added in v0.2.34
func (e *HostEnvironment) Pull(_ bool) common.Executor
func (*HostEnvironment) Remove ¶ added in v0.2.34
func (e *HostEnvironment) Remove() common.Executor
func (*HostEnvironment) ReplaceLogWriter ¶ added in v0.2.34
func (*HostEnvironment) Start ¶ added in v0.2.34
func (e *HostEnvironment) Start(_ bool) common.Executor
func (*HostEnvironment) ToContainerPath ¶ added in v0.2.34
func (e *HostEnvironment) ToContainerPath(path string) string
func (*HostEnvironment) UpdateFromEnv ¶ added in v0.2.34
func (*HostEnvironment) UpdateFromImageEnv ¶ added in v0.2.34
func (e *HostEnvironment) UpdateFromImageEnv(_ *map[string]string) common.Executor
type LinuxContainerEnvironmentExtensions ¶ added in v0.2.34
type LinuxContainerEnvironmentExtensions struct {
}
func (*LinuxContainerEnvironmentExtensions) DefaultPathVariable ¶ added in v0.2.34
func (*LinuxContainerEnvironmentExtensions) DefaultPathVariable() string
func (*LinuxContainerEnvironmentExtensions) GetActPath ¶ added in v0.2.34
func (*LinuxContainerEnvironmentExtensions) GetActPath() string
func (*LinuxContainerEnvironmentExtensions) GetPathVariableName ¶ added in v0.2.34
func (*LinuxContainerEnvironmentExtensions) GetPathVariableName() string
func (*LinuxContainerEnvironmentExtensions) GetRunnerContext ¶ added in v0.2.34
func (*LinuxContainerEnvironmentExtensions) GetRunnerContext(ctx context.Context) map[string]interface{}
func (*LinuxContainerEnvironmentExtensions) IsEnvironmentCaseInsensitive ¶ added in v0.2.45
func (*LinuxContainerEnvironmentExtensions) IsEnvironmentCaseInsensitive() bool
func (*LinuxContainerEnvironmentExtensions) JoinPathVariable ¶ added in v0.2.34
func (*LinuxContainerEnvironmentExtensions) JoinPathVariable(paths ...string) string
func (*LinuxContainerEnvironmentExtensions) ToContainerPath ¶ added in v0.2.34
func (*LinuxContainerEnvironmentExtensions) ToContainerPath(path string) string
Resolves the equivalent host path inside the container This is required for windows and WSL 2 to translate things like C:\Users\Myproject to /mnt/users/Myproject For use in docker volumes and binds
type NewContainerInput ¶ added in v0.2.2
type NewContainerInput struct {
Image string
Username string
Password string
Entrypoint []string
Cmd []string
WorkingDir string
Env []string
Binds []string
Mounts map[string]string
Name string
Stdout io.Writer
Stderr io.Writer
NetworkMode string
Privileged bool
UsernsMode string
Platform string
Options string
}
NewContainerInput the input for the New function