release
A module that encodes the official release process of the Dagger Engine
Installation
dagger install github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31Entrypoint
Return Type
Release !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| ws | Workspace | - | No description provided |
Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
func (m *MyModule) Example() *dagger.Release {
return dag.
Release()
}@function
def example() -> dagger.Release:
return (
dag.release()
)@func()
example(): Release {
return dag
.release()
}Types
Release 🔗
docsTargetVersion() 🔗
Regenerate docs files that reference the target Dagger Engine version.
Return Type
Changeset ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
docs-target-versionfunc (m *MyModule) Example() *dagger.Changeset {
return dag.
Release().
Docstargetversion()
}@function
def example() -> dagger.Changeset:
return (
dag.release()
.docstargetversion()
)@func()
example(): Changeset {
return dag
.release()
.docsTargetVersion()
}elixirSdkTargetVersion() 🔗
Regenerate Elixir SDK files that reference the target Dagger Engine version.
Return Type
Changeset ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
elixir-sdk-target-versionfunc (m *MyModule) Example() *dagger.Changeset {
return dag.
Release().
Elixirsdktargetversion()
}@function
def example() -> dagger.Changeset:
return (
dag.release()
.elixirsdktargetversion()
)@func()
example(): Changeset {
return dag
.release()
.elixirSdkTargetVersion()
}getMaintainers() 🔗
Return Type
[String ! ] !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| githubOrgName | String ! | - | No description provided |
| githubToken | Secret | - | No description provided |
Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
get-maintainers --github-org-name stringfunc (m *MyModule) Example(ctx context.Context, githubOrgName string) []string {
return dag.
Release().
Getmaintainers(ctx, githubOrgName)
}@function
async def example(githuborgname: str) -> List[str]:
return await (
dag.release()
.getmaintainers(githuborgname)
)@func()
async example(githubOrgName: string): Promise<string[]> {
return dag
.release()
.getMaintainers(githubOrgName)
}goSdkTargetVersion() 🔗
Regenerate Go SDK files that reference the target Dagger Engine version.
Return Type
Changeset ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
go-sdk-target-versionfunc (m *MyModule) Example() *dagger.Changeset {
return dag.
Release().
Gosdktargetversion()
}@function
def example() -> dagger.Changeset:
return (
dag.release()
.gosdktargetversion()
)@func()
example(): Changeset {
return dag
.release()
.goSdkTargetVersion()
}helmTargetVersion() 🔗
Regenerate Helm chart files that reference the target Dagger Engine version.
Return Type
Changeset ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
helm-target-versionfunc (m *MyModule) Example() *dagger.Changeset {
return dag.
Release().
Helmtargetversion()
}@function
def example() -> dagger.Changeset:
return (
dag.release()
.helmtargetversion()
)@func()
example(): Changeset {
return dag
.release()
.helmTargetVersion()
}javaSdkTargetVersion() 🔗
Regenerate Java SDK files that reference the target Dagger Engine version.
Return Type
Changeset ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
java-sdk-target-versionfunc (m *MyModule) Example() *dagger.Changeset {
return dag.
Release().
Javasdktargetversion()
}@function
def example() -> dagger.Changeset:
return (
dag.release()
.javasdktargetversion()
)@func()
example(): Changeset {
return dag
.release()
.javaSdkTargetVersion()
}notify() 🔗
Return Type
Void !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| repository | String ! | - | GitHub repository URL |
| target | String ! | - | The target tag for the release e.g. sdk/typescript/v0.14.0 |
| name | String ! | - | Name of the component to release |
| discordWebhook | Secret | - | Discord webhook |
| dryRun | Boolean | - | Whether to perform a dry run without creating the release |
Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
notify --repository string --target string --name stringfunc (m *MyModule) Example(ctx context.Context, repository string, target string, name string) {
return dag.
Release().
Notify(ctx, repository, target, name)
}@function
async def example(repository: str, target: str, name: str) -> None:
return await (
dag.release()
.notify(repository, target, name)
)@func()
async example(repository: string, target: string, name: string): Promise<void> {
return dag
.release()
.notify(repository, target, name)
}phpSdkTargetVersion() 🔗
Regenerate PHP SDK files that reference the target Dagger Engine version.
Return Type
Changeset ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
php-sdk-target-versionfunc (m *MyModule) Example() *dagger.Changeset {
return dag.
Release().
Phpsdktargetversion()
}@function
def example() -> dagger.Changeset:
return (
dag.release()
.phpsdktargetversion()
)@func()
example(): Changeset {
return dag
.release()
.phpSdkTargetVersion()
}publish() 🔗
Return Type
Report !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| tag | String ! | - | No description provided |
| commit | String ! | - | No description provided |
| dryRun | Boolean | - | No description provided |
| registryImage | String | - | No description provided |
| registryUsername | String | - | No description provided |
| registryPassword | Secret | - | No description provided |
| githubToken | Secret | - | No description provided |
| githubOrgName | String | - | No description provided |
| githubHost | String | - | No description provided |
| githubCaCert | File | - | No description provided |
| netlifyToken | Secret | - | No description provided |
| netlifyApiurl | String | - | No description provided |
| pypiToken | Secret | - | No description provided |
| pypiRepo | String | - | No description provided |
| pypiUrl | String | - | No description provided |
| npmToken | Secret | - | No description provided |
| npmRegistryUrl | String | - | No description provided |
| hexApikey | Secret | - | No description provided |
| hexApiurl | String | - | No description provided |
| cargoRegistryToken | Secret | - | No description provided |
| cargoRegistryIndex | String | - | No description provided |
| goSdkDestRemote | String | - | No description provided |
| phpSdkDestRemote | String | - | No description provided |
| awsAccessKeyId | Secret | - | No description provided |
| awsSecretAccessKey | Secret | - | No description provided |
| awsRegion | String | - | No description provided |
| awsBucket | String | - | No description provided |
| awsCloudfrontDistribution | String | - | No description provided |
| awsEndpointUrl | String | - | No description provided |
| artefactsFqdn | String | - | No description provided |
| helmRegistry | String | - | No description provided |
| discordWebhook | Secret | - | No description provided |
Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
publish --tag string --commit stringfunc (m *MyModule) Example(tag string, commit string) *dagger.ReleaseReport {
return dag.
Release().
Publish(tag, commit)
}@function
def example(tag: str, commit: str) -> dagger.ReleaseReport:
return (
dag.release()
.publish(tag, commit)
)@func()
example(tag: string, commit: string): ReleaseReport {
return dag
.release()
.publish(tag, commit)
}publishWithMockEndpoints() 🔗
Exercise the release publish path against local mock endpoints.
Return Type
Void !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| source | Directory | - | Source tree to publish. The check commits this exact tree to a local git service and invokes release through a nested engine using that git ref. |
Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
publish-with-mock-endpointsfunc (m *MyModule) Example(ctx context.Context) {
return dag.
Release().
Publishwithmockendpoints(ctx)
}@function
async def example() -> None:
return await (
dag.release()
.publishwithmockendpoints()
)@func()
async example(): Promise<void> {
return dag
.release()
.publishWithMockEndpoints()
}pythonSdkTargetVersion() 🔗
Regenerate Python SDK files that reference the target Dagger Engine version.
Return Type
Changeset ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
python-sdk-target-versionfunc (m *MyModule) Example() *dagger.Changeset {
return dag.
Release().
Pythonsdktargetversion()
}@function
def example() -> dagger.Changeset:
return (
dag.release()
.pythonsdktargetversion()
)@func()
example(): Changeset {
return dag
.release()
.pythonSdkTargetVersion()
}rustSdkTargetVersion() 🔗
Regenerate Rust SDK files that reference the target Dagger Engine version.
Return Type
Changeset ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
rust-sdk-target-versionfunc (m *MyModule) Example() *dagger.Changeset {
return dag.
Release().
Rustsdktargetversion()
}@function
def example() -> dagger.Changeset:
return (
dag.release()
.rustsdktargetversion()
)@func()
example(): Changeset {
return dag
.release()
.rustSdkTargetVersion()
}testLocalRelease() 🔗
Create a fake release a run checks to catch potential breaking changes.
Return Type
Test !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| version | String ! | - | Current engine version. The test runs the next patch (vX.Y.Z+1) on top. |
Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
test-local-release --version stringfunc (m *MyModule) Example(version string) *dagger.ReleaseTest {
return dag.
Release().
Testlocalrelease(version)
}@function
def example(version: str) -> dagger.ReleaseTest:
return (
dag.release()
.testlocalrelease(version)
)@func()
example(version: string): ReleaseTest {
return dag
.release()
.testLocalRelease(version)
}typescriptSdkTargetVersion() 🔗
Regenerate TypeScript SDK files that reference the target Dagger Engine version.
Return Type
Changeset ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
typescript-sdk-target-versionfunc (m *MyModule) Example() *dagger.Changeset {
return dag.
Release().
Typescriptsdktargetversion()
}@function
def example() -> dagger.Changeset:
return (
dag.release()
.typescriptsdktargetversion()
)@func()
example(): Changeset {
return dag
.release()
.typescriptSdkTargetVersion()
}Report 🔗
ref() 🔗
Return Type
String ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
publish --tag string --commit string \
reffunc (m *MyModule) Example(ctx context.Context, tag string, commit string) string {
return dag.
Release().
Publish(tag, commit).
Ref(ctx)
}@function
async def example(tag: str, commit: str) -> str:
return await (
dag.release()
.publish(tag, commit)
.ref()
)@func()
async example(tag: string, commit: string): Promise<string> {
return dag
.release()
.publish(tag, commit)
.ref()
}commit() 🔗
Return Type
String ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
publish --tag string --commit string \
commitfunc (m *MyModule) Example(ctx context.Context, tag string, commit string) string {
return dag.
Release().
Publish(tag, commit).
Commit(ctx)
}@function
async def example(tag: str, commit: str) -> str:
return await (
dag.release()
.publish(tag, commit)
.commit()
)@func()
async example(tag: string, commit: string): Promise<string> {
return dag
.release()
.publish(tag, commit)
.commit()
}version() 🔗
Return Type
String ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
publish --tag string --commit string \
versionfunc (m *MyModule) Example(ctx context.Context, tag string, commit string) string {
return dag.
Release().
Publish(tag, commit).
Version(ctx)
}@function
async def example(tag: str, commit: str) -> str:
return await (
dag.release()
.publish(tag, commit)
.version()
)@func()
async example(tag: string, commit: string): Promise<string> {
return dag
.release()
.publish(tag, commit)
.version()
}date() 🔗
Return Type
String ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
publish --tag string --commit string \
datefunc (m *MyModule) Example(ctx context.Context, tag string, commit string) string {
return dag.
Release().
Publish(tag, commit).
Date(ctx)
}@function
async def example(tag: str, commit: str) -> str:
return await (
dag.release()
.publish(tag, commit)
.date()
)@func()
async example(tag: string, commit: string): Promise<string> {
return dag
.release()
.publish(tag, commit)
.date()
}artifacts() 🔗
Return Type
[ReportArtifact ! ] ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
publish --tag string --commit string \
artifactsfunc (m *MyModule) Example(tag string, commit string) []*dagger.ReleaseReportArtifact {
return dag.
Release().
Publish(tag, commit).
Artifacts()
}@function
def example(tag: str, commit: str) -> List[dagger.ReleaseReportArtifact]:
return (
dag.release()
.publish(tag, commit)
.artifacts()
)@func()
example(tag: string, commit: string): ReleaseReportArtifact[] {
return dag
.release()
.publish(tag, commit)
.artifacts()
}followUps() 🔗
Return Type
[ReportFollowUp ! ] ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
publish --tag string --commit string \
follow-upsfunc (m *MyModule) Example(tag string, commit string) []*dagger.ReleaseReportFollowUp {
return dag.
Release().
Publish(tag, commit).
Followups()
}@function
def example(tag: str, commit: str) -> List[dagger.ReleaseReportFollowUp]:
return (
dag.release()
.publish(tag, commit)
.followups()
)@func()
example(tag: string, commit: string): ReleaseReportFollowUp[] {
return dag
.release()
.publish(tag, commit)
.followUps()
}errors() 🔗
Return Type
[Error ! ] ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
publish --tag string --commit string \
errorsfunc (m *MyModule) Example(tag string, commit string) []*dagger.Error {
return dag.
Release().
Publish(tag, commit).
Errors()
}@function
def example(tag: str, commit: str) -> List[dagger.Error]:
return (
dag.release()
.publish(tag, commit)
.errors()
)@func()
example(tag: string, commit: string): Error[] {
return dag
.release()
.publish(tag, commit)
.errors()
}markdown() 🔗
Return Type
String ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
publish --tag string --commit string \
markdownfunc (m *MyModule) Example(ctx context.Context, tag string, commit string) string {
return dag.
Release().
Publish(tag, commit).
Markdown(ctx)
}@function
async def example(tag: str, commit: str) -> str:
return await (
dag.release()
.publish(tag, commit)
.markdown()
)@func()
async example(tag: string, commit: string): Promise<string> {
return dag
.release()
.publish(tag, commit)
.markdown()
}Test 🔗
container() 🔗
Return Type
Container ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
test-local-release --version string \
containerfunc (m *MyModule) Example(version string) *dagger.Container {
return dag.
Release().
Testlocalrelease(version).
Container()
}@function
def example(version: str) -> dagger.Container:
return (
dag.release()
.testlocalrelease(version)
.container()
)@func()
example(version: string): Container {
return dag
.release()
.testLocalRelease(version)
.container()
}existingModule() 🔗
Test calling an existing module with basic commands.
Return Type
Void !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| testdata | Directory | - | No description provided |
Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
test-local-release --version string \
existing-modulefunc (m *MyModule) Example(ctx context.Context, version string) {
return dag.
Release().
Testlocalrelease(version).
Existingmodule(ctx)
}@function
async def example(version: str) -> None:
return await (
dag.release()
.testlocalrelease(version)
.existingmodule()
)@func()
async example(version: string): Promise<void> {
return dag
.release()
.testLocalRelease(version)
.existingModule()
}newModule() 🔗
Test scaffolding a new module via the Go SDK and executing basic commands.
This installs the Go SDK, uses dagger module init with the legacy template
(the classic ContainerEcho/GrepDir example) to scaffold a module, then calls
the generated module. Workspace discovery resolves through a .git boundary,
so the working directory is initialized as a repo first.
Return Type
Void ! Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
test-local-release --version string \
new-modulefunc (m *MyModule) Example(ctx context.Context, version string) {
return dag.
Release().
Testlocalrelease(version).
Newmodule(ctx)
}@function
async def example(version: str) -> None:
return await (
dag.release()
.testlocalrelease(version)
.newmodule()
)@func()
async example(version: string): Promise<void> {
return dag
.release()
.testLocalRelease(version)
.newModule()
}ReportArtifact 🔗
name() 🔗
Return Type
String ! Example
Function ReleaseReportArtifact.name is not accessible from the release moduleFunction ReleaseReportArtifact.name is not accessible from the release moduleFunction ReleaseReportArtifact.name is not accessible from the release moduleFunction ReleaseReportArtifact.name is not accessible from the release moduletag() 🔗
Return Type
String ! Example
Function ReleaseReportArtifact.tag is not accessible from the release moduleFunction ReleaseReportArtifact.tag is not accessible from the release moduleFunction ReleaseReportArtifact.tag is not accessible from the release moduleFunction ReleaseReportArtifact.tag is not accessible from the release modulelink() 🔗
Return Type
String ! Example
Function ReleaseReportArtifact.link is not accessible from the release moduleFunction ReleaseReportArtifact.link is not accessible from the release moduleFunction ReleaseReportArtifact.link is not accessible from the release moduleFunction ReleaseReportArtifact.link is not accessible from the release moduleerrors() 🔗
Return Type
[Error ! ] ! Example
Function ReleaseReportArtifact.errors is not accessible from the release moduleFunction ReleaseReportArtifact.errors is not accessible from the release moduleFunction ReleaseReportArtifact.errors is not accessible from the release moduleFunction ReleaseReportArtifact.errors is not accessible from the release moduleReportFollowUp 🔗
name() 🔗
Return Type
String ! Example
Function ReleaseReportFollowUp.name is not accessible from the release moduleFunction ReleaseReportFollowUp.name is not accessible from the release moduleFunction ReleaseReportFollowUp.name is not accessible from the release moduleFunction ReleaseReportFollowUp.name is not accessible from the release modulelink() 🔗
Return Type
String ! Example
Function ReleaseReportFollowUp.link is not accessible from the release moduleFunction ReleaseReportFollowUp.link is not accessible from the release moduleFunction ReleaseReportFollowUp.link is not accessible from the release moduleFunction ReleaseReportFollowUp.link is not accessible from the release module