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
Name | Type | Default Value | Description |
---|---|---|---|
cfgFile | File | - | No description provided |
buildContext | Directory | - | 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
Name | Type | Default Value | Description |
---|---|---|---|
dryRun | Boolean | - | 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
Name | Type | Default Value | Description |
---|---|---|---|
j | Job ! | - | No description provided |
ctr | Container ! | - | 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