Documentation
¶
Overview ¶
package ore provides implementations of github.com/frantjc/forge.Ore. This is Forge's most useful package as these implementations, when given a github.com/frantjc/forge.ContainerRuntime, actually execute steps from various proprietary CI systems.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrContainerExitedWithNonzeroExitCode = errors.New("container exited with nonzero exit code")
ErrContainerExecutedWithNonzeroExitCode is returned when a container ran by an Ore returned an unexpected nonzero exit code. Used with errors.Is to avoid printing this error's text so that os.Exit doesn't double-inform a user of the same nonzero exit code.
Functions ¶
This section is empty.
Types ¶
type Action ¶
type Action struct {
ID string `json:"id,omitempty"`
Uses string `json:"uses,omitempty"`
With map[string]string `json:"with,omitempty"`
Env map[string]string `json:"env,omitempty"`
GlobalContext *githubactions.GlobalContext `json:"global_context,omitempty"`
}
Action is an Ore representing a GitHub Action. That is--a step in a GitHub Actions workflow that uses the `uses` key.
type Alloy ¶
Alloy is an Ore made up of other Ores that share a volume that is mounted to their WorkingDir.
type CloudBuild ¶ added in v0.15.0
type CloudBuild struct {
cloudbuild.Step `json:",inline"`
}
func (*CloudBuild) Liquify ¶ added in v0.15.0
func (o *CloudBuild) Liquify(ctx context.Context, containerRuntime forge.ContainerRuntime, drains *forge.Drains) error
type Lava ¶
Lava is an Ore representing two Ores of which the stdout of the first is piped to the stdin of the second.
type Pure ¶
type Pure struct {
Image string `json:"image,omitempty"`
Entrypoint []string `json:"entrypoint,omitempty"`
Cmd []string `json:"cmd,omitempty"`
Env []string `json:"env,omitempty"`
Input []byte `json:"input,omitempty"`
}
Pure is an Ore for running a "pure" command inside of a container.
type Resource ¶
type Resource struct {
Method string `json:"method,omitempty"`
Version map[string]any `json:"version,omitempty"`
Params map[string]any `json:"params,omitempty"`
Resource *concourse.Resource `json:"resource,omitempty"`
ResourceType *concourse.ResourceType `json:"resource_type,omitempty"`
}
Resource is an Ore representing a Concourse resource-- any of get, put or check.