export-cassette
Export cassette CI/CD.
Installation
dagger install github.com/papercomputeco/export-cassette@132ddd2583f448a99b88630457f3637514f5e17fEntrypoint
Return Type
ExportCassette !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| source | Directory | - | 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-imagefunc (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
| Name | Type | Default Value | Description |
|---|---|---|---|
| registry | String ! | - | Registry namespace, for example public.ecr.aws/example/papercomputeco. |
| tags | [String ! ] ! | - | Tags to publish, for example [“v1.0.0”, “latest”]. |
| version | String | - | 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 string2func (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-testfunc (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()
}