Dagger
Search

export-cassette

Export cassette CI/CD.

Installation

dagger install github.com/papercomputeco/export-cassette@132ddd2583f448a99b88630457f3637514f5e17f

Entrypoint

Return Type
ExportCassette !
Arguments
NameTypeDefault ValueDescription
sourceDirectory -Project source directory.
Example
dagger -m github.com/papercomputeco/export-cassette@132ddd2583f448a99b88630457f3637514f5e17f call \
func (m *MyModule) Example() *dagger.ExportCassette  {
	return dag.
			Exportcassette()
}
@function
def example() -> dagger.ExportCassette:
	return (
		dag.export_cassette()
	)
@func()
example(): ExportCassette {
	return dag
		.exportCassette()
}

Types

ExportCassette 🔗

buildImage() 🔗

BuildImage builds the local-platform export cassette image. It is deliberately unstamped: a local build is not a release, and an image that claims a version it was never published under is the drift the stamping exists to prevent.

Return Type
Container !
Example
dagger -m github.com/papercomputeco/export-cassette@132ddd2583f448a99b88630457f3637514f5e17f call \
 build-image
func (m *MyModule) Example() *dagger.Container  {
	return dag.
			Exportcassette().
			Buildimage()
}
@function
def example() -> dagger.Container:
	return (
		dag.export_cassette()
		.buildimage()
	)
@func()
example(): Container {
	return dag
		.exportCassette()
		.buildImage()
}

buildPushImage() 🔗

BuildPushImage builds and publishes the multi-platform export cassette image.

Return Type
[String ! ] !
Arguments
NameTypeDefault ValueDescription
registryString !-

Registry namespace, for example public.ecr.aws/example/papercomputeco.

tags[String ! ] !-

Tags to publish, for example [“v1.0.0”, “latest”].

versionString -

Release identity to stamp, for example “v1.0.0”. Empty publishes an unstamped image, which only a non-release path should want.

Example
dagger -m github.com/papercomputeco/export-cassette@132ddd2583f448a99b88630457f3637514f5e17f call \
 build-push-image --registry string --tags string1 --tags string2
func (m *MyModule) Example(ctx context.Context, registry string, tags []string) []string  {
	return dag.
			Exportcassette().
			Buildpushimage(ctx, registry, tags)
}
@function
async def example(registry: str, tags: List[str]) -> List[str]:
	return await (
		dag.export_cassette()
		.buildpushimage(registry, tags)
	)
@func()
async example(registry: string, tags: string[]): Promise<string[]> {
	return dag
		.exportCassette()
		.buildPushImage(registry, tags)
}

checkTest() 🔗

CheckTest runs the unit suite, as a check so it joins the ones the go and golangcilint toolchains contribute rather than being a second CI mechanism beside them.

-count=1 because a check that can be satisfied from the test cache is not running the thing it claims to run; the mounted build cache is what keeps that affordable.

Return Type
String !
Example
dagger -m github.com/papercomputeco/export-cassette@132ddd2583f448a99b88630457f3637514f5e17f call \
 check-test
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			Exportcassette().
			Checktest(ctx)
}
@function
async def example() -> str:
	return await (
		dag.export_cassette()
		.checktest()
	)
@func()
async example(): Promise<string> {
	return dag
		.exportCassette()
		.checkTest()
}