Dagger
Search

release

A module that encodes the official release process of the Dagger Engine

Installation

dagger install github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31

Entrypoint

Return Type
Release !
Arguments
NameTypeDefault ValueDescription
wsWorkspace -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-version
func (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-version
func (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
NameTypeDefault ValueDescription
githubOrgNameString !-No description provided
githubTokenSecret -No description provided
Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
 get-maintainers --github-org-name string
func (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-version
func (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-version
func (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-version
func (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
NameTypeDefault ValueDescription
repositoryString !-

GitHub repository URL

targetString !-

The target tag for the release e.g. sdk/typescript/v0.14.0

nameString !-

Name of the component to release

discordWebhookSecret -

Discord webhook

dryRunBoolean -

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 string
func (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-version
func (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
NameTypeDefault ValueDescription
tagString !-No description provided
commitString !-No description provided
dryRunBoolean -No description provided
registryImageString -No description provided
registryUsernameString -No description provided
registryPasswordSecret -No description provided
githubTokenSecret -No description provided
githubOrgNameString -No description provided
githubHostString -No description provided
githubCaCertFile -No description provided
netlifyTokenSecret -No description provided
netlifyApiurlString -No description provided
pypiTokenSecret -No description provided
pypiRepoString -No description provided
pypiUrlString -No description provided
npmTokenSecret -No description provided
npmRegistryUrlString -No description provided
hexApikeySecret -No description provided
hexApiurlString -No description provided
cargoRegistryTokenSecret -No description provided
cargoRegistryIndexString -No description provided
goSdkDestRemoteString -No description provided
phpSdkDestRemoteString -No description provided
awsAccessKeyIdSecret -No description provided
awsSecretAccessKeySecret -No description provided
awsRegionString -No description provided
awsBucketString -No description provided
awsCloudfrontDistributionString -No description provided
awsEndpointUrlString -No description provided
artefactsFqdnString -No description provided
helmRegistryString -No description provided
discordWebhookSecret -No description provided
Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
 publish --tag string --commit string
func (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
NameTypeDefault ValueDescription
sourceDirectory -

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-endpoints
func (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-version
func (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-version
func (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
NameTypeDefault ValueDescription
versionString !-

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 string
func (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-version
func (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 \
 ref
func (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 \
 commit
func (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 \
 version
func (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 \
 date
func (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 \
 artifacts
func (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-ups
func (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 \
 errors
func (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 \
 markdown
func (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 \
 container
func (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
NameTypeDefault ValueDescription
testdataDirectory -No description provided
Example
dagger -m github.com/vito/dagger/toolchains/release@3432b08d46539d17cee6d4f92d8875ec30e8de31 call \
 test-local-release --version string \
 existing-module
func (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-module
func (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 module
Function ReleaseReportArtifact.name is not accessible from the release module
Function ReleaseReportArtifact.name is not accessible from the release module
Function ReleaseReportArtifact.name is not accessible from the release module

tag() 🔗

Return Type
String !
Example
Function ReleaseReportArtifact.tag is not accessible from the release module
Function ReleaseReportArtifact.tag is not accessible from the release module
Function ReleaseReportArtifact.tag is not accessible from the release module
Function ReleaseReportArtifact.tag is not accessible from the release module
Return Type
String !
Example
Function ReleaseReportArtifact.link is not accessible from the release module
Function ReleaseReportArtifact.link is not accessible from the release module
Function ReleaseReportArtifact.link is not accessible from the release module
Function ReleaseReportArtifact.link is not accessible from the release module

errors() 🔗

Return Type
[Error ! ] !
Example
Function ReleaseReportArtifact.errors is not accessible from the release module
Function ReleaseReportArtifact.errors is not accessible from the release module
Function ReleaseReportArtifact.errors is not accessible from the release module
Function ReleaseReportArtifact.errors is not accessible from the release module

ReportFollowUp 🔗

name() 🔗

Return Type
String !
Example
Function ReleaseReportFollowUp.name is not accessible from the release module
Function ReleaseReportFollowUp.name is not accessible from the release module
Function ReleaseReportFollowUp.name is not accessible from the release module
Function ReleaseReportFollowUp.name is not accessible from the release module
Return Type
String !
Example
Function ReleaseReportFollowUp.link is not accessible from the release module
Function ReleaseReportFollowUp.link is not accessible from the release module
Function ReleaseReportFollowUp.link is not accessible from the release module
Function ReleaseReportFollowUp.link is not accessible from the release module