Dagger
Search

ci

Build and distribute Bootc container images across registries in a standarized way.

Installation

dagger install github.com/Zeglius/bootc-dagger/ci@d7aad0c23452e019b8fed8ad13b62382208cc13b

Entrypoint

Return Type
Ci !
Arguments
NameTypeDefault ValueDescription
cfgFileFile -No description provided
buildContextDirectory -No description provided
Example
dagger -m github.com/Zeglius/bootc-dagger/ci@d7aad0c23452e019b8fed8ad13b62382208cc13b call \
func (m *myModule) example() *dagger.Ci  {
	return dag.
			Ci()
}
@function
def example() -> dagger.Ci:
	return (
		dag.ci()
	)
@func()
example(): Ci {
	return dag
		.ci()
}

Types

Ci 🔗

conf() 🔗

Return Type
Conf !
Example
dagger -m github.com/Zeglius/bootc-dagger/ci@d7aad0c23452e019b8fed8ad13b62382208cc13b call \
 conf
func (m *myModule) example() *dagger.CiConf  {
	return dag.
			Ci().
			Conf()
}
@function
def example() -> dagger.CiConf:
	return (
		dag.ci()
		.conf()
	)
@func()
example(): CiConf {
	return dag
		.ci()
		.conf()
}

buildContext() 🔗

Contains the context of our CI pipeline execution

Return Type
Directory !
Example
dagger -m github.com/Zeglius/bootc-dagger/ci@d7aad0c23452e019b8fed8ad13b62382208cc13b call \
 build-context
func (m *myModule) example() *dagger.Directory  {
	return dag.
			Ci().
			BuildContext()
}
@function
def example() -> dagger.Directory:
	return (
		dag.ci()
		.build_context()
	)
@func()
example(): Directory {
	return dag
		.ci()
		.buildContext()
}

run() 🔗

Start the CI pipeline

Return Type
[String ! ] !
Arguments
NameTypeDefault ValueDescription
dryRunBoolean -Skip publishing
Example
dagger -m github.com/Zeglius/bootc-dagger/ci@d7aad0c23452e019b8fed8ad13b62382208cc13b call \
 run
func (m *myModule) example(ctx context.Context) []string  {
	return dag.
			Ci().
			Run(ctx)
}
@function
async def example() -> List[str]:
	return await (
		dag.ci()
		.run()
	)
@func()
async example(): Promise<string[]> {
	return dag
		.ci()
		.run()
}

publishImages() 🔗

Publish container images with the provided tags to a remote image registry. The provided container is published with each output tag using the output image name and returns the references to each published image.

Return Type
[String ! ] !
Arguments
NameTypeDefault ValueDescription
jJob !-No description provided
ctrContainer !-No description provided
Example
echo 'Custom types are not supported in shell examples'
func (m *myModule) example(ctx context.Context, j *dagger.CiJob, ctr *dagger.Container) []string  {
	return dag.
			Ci().
			PublishImages(ctx, j, ctr)
}
@function
async def example(j: dagger.CiJob, ctr: dagger.Container) -> List[str]:
	return await (
		dag.ci()
		.publish_images(j, ctr)
	)
@func()
async example(j: CiJob, ctr: Container): Promise<string[]> {
	return dag
		.ci()
		.publishImages(j, ctr)
}

installGhWorkflow() 🔗

Install a starting github workflow in your current working directory to build Bootc images with bootc-dagger/ci.

Example:

dagger -m ${GIT_CI_MODULE?} call install-gh-workflow export --path=.
Return Type
Directory !
Example
dagger -m github.com/Zeglius/bootc-dagger/ci@d7aad0c23452e019b8fed8ad13b62382208cc13b call \
 install-gh-workflow
func (m *myModule) example() *dagger.Directory  {
	return dag.
			Ci().
			InstallGhWorkflow()
}
@function
def example() -> dagger.Directory:
	return (
		dag.ci()
		.install_gh_workflow()
	)
@func()
example(): Directory {
	return dag
		.ci()
		.installGhWorkflow()
}

configJsonSchema() 🔗

Returns the json schema that the config file follows.

Return Type
String !
Example
dagger -m github.com/Zeglius/bootc-dagger/ci@d7aad0c23452e019b8fed8ad13b62382208cc13b call \
 config-json-schema
func (m *myModule) example(ctx context.Context) string  {
	return dag.
			Ci().
			ConfigJsonSchema(ctx)
}
@function
async def example() -> str:
	return await (
		dag.ci()
		.config_json_schema()
	)
@func()
async example(): Promise<string> {
	return dag
		.ci()
		.configJsonSchema()
}

printConf() 🔗

Return Type
String !
Example
dagger -m github.com/Zeglius/bootc-dagger/ci@d7aad0c23452e019b8fed8ad13b62382208cc13b call \
 print-conf
func (m *myModule) example(ctx context.Context) string  {
	return dag.
			Ci().
			PrintConf(ctx)
}
@function
async def example() -> str:
	return await (
		dag.ci()
		.print_conf()
	)
@func()
async example(): Promise<string> {
	return dag
		.ci()
		.printConf()
}

Job 🔗

containerfile() 🔗

Containerfile is the path to the Dockerfile used for building the container.

Example: Containerfile: “Dockerfile”

Return Type
String !
Example
Function CiJob.containerfile is not accessible from the ci module
Function CiJob.containerfile is not accessible from the ci module
Function CiJob.containerfile is not accessible from the ci module
Function CiJob.containerfile is not accessible from the ci module

buildArgs() 🔗

BuildArgs are the build arguments passed to the container build process.

Example: BuildArgs: []string{“ARG1=value1”, “ARG2=value2”}

Return Type
[String ! ] !
Example
Function CiJob.buildArgs is not accessible from the ci module
Function CiJob.buildArgs is not accessible from the ci module
Function CiJob.buildArgs is not accessible from the ci module
Function CiJob.buildArgs is not accessible from the ci module

annotations() 🔗

Annotations are metadata labels that can be added to the container.

Example: Annotations: []string{“key1=value1”, “key2=value2”}

Return Type
[String ! ] !
Example
Function CiJob.annotations is not accessible from the ci module
Function CiJob.annotations is not accessible from the ci module
Function CiJob.annotations is not accessible from the ci module
Function CiJob.annotations is not accessible from the ci module

labels() 🔗

Labels are metadata labels that can be added to the container.

Example: Labels: []string{“key1=value1”, “key2=value2”}

Return Type
[String ! ] !
Example
Function CiJob.labels is not accessible from the ci module
Function CiJob.labels is not accessible from the ci module
Function CiJob.labels is not accessible from the ci module
Function CiJob.labels is not accessible from the ci module

outputName() 🔗

OutputName specifies name for the output container image.

Example: OutputName: “ghcr.io/ublue-os/bluefin”

Return Type
String !
Example
Function CiJob.outputName is not accessible from the ci module
Function CiJob.outputName is not accessible from the ci module
Function CiJob.outputName is not accessible from the ci module
Function CiJob.outputName is not accessible from the ci module

outputTags() 🔗

OutputTags specifies tags for the output container images.

Example: OutputTags: []string{“latest”, “v1.0”}

Return Type
[String ! ] !
Example
Function CiJob.outputTags is not accessible from the ci module
Function CiJob.outputTags is not accessible from the ci module
Function CiJob.outputTags is not accessible from the ci module
Function CiJob.outputTags is not accessible from the ci module

Conf 🔗

jobs() 🔗

Wow

Return Type
[Job ! ] !
Example
Function CiConf.jobs is not accessible from the ci module
Function CiConf.jobs is not accessible from the ci module
Function CiConf.jobs is not accessible from the ci module
Function CiConf.jobs is not accessible from the ci module