Dagger
Search

release

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

Installation

dagger install github.com/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429

Entrypoint

Return Type
Release
Example
dagger -m github.com/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 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 🔗

bump() 🔗

Change the required dagger engine version across all components

Return Type
Changeset !
Arguments
NameTypeDefault ValueDescription
engineVersionString !-

The new required engine version

Example
dagger -m github.com/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 call \
 bump --engine-version string
func (m *MyModule) Example(engineVersion string) *dagger.Changeset  {
	return dag.
			Release().
			Bump(engineVersion)
}
@function
def example(engine_version: str) -> dagger.Changeset:
	return (
		dag.release()
		.bump(engine_version)
	)
@func()
example(engineVersion: string): Changeset {
	return dag
		.release()
		.bump(engineVersion)
}

getMaintainers() 🔗

Return Type
[String ! ] !
Arguments
NameTypeDefault ValueDescription
githubOrgNameString !-No description provided
githubTokenSecret -No description provided
Example
dagger -m github.com/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 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(github_org_name: str) -> List[str]:
	return await (
		dag.release()
		.get_maintainers(github_org_name)
	)
@func()
async example(githubOrgName: string): Promise<string[]> {
	return dag
		.release()
		.getMaintainers(githubOrgName)
}

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/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 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)
}

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/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 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/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 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()
		.publish_with_mock_endpoints()
	)
@func()
async example(): Promise<void> {
	return dag
		.release()
		.publishWithMockEndpoints()
}

testLocalRelease() 🔗

Create a fake release a run checks to catch potential breaking changes.

Return Type
Test !
Example
dagger -m github.com/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 call \
 test-local-release
func (m *MyModule) Example() *dagger.ReleaseTest  {
	return dag.
			Release().
			TestLocalRelease()
}
@function
def example() -> dagger.ReleaseTest:
	return (
		dag.release()
		.test_local_release()
	)
@func()
example(): ReleaseTest {
	return dag
		.release()
		.testLocalRelease()
}

Report 🔗

ref() 🔗

Return Type
String !
Example
dagger -m github.com/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 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/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 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/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 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/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 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/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 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/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 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)
		.follow_ups()
	)
@func()
example(tag: string, commit: string): ReleaseReportFollowUp[] {
	return dag
		.release()
		.publish(tag, commit)
		.followUps()
}

errors() 🔗

Return Type
[Error ! ] !
Example
dagger -m github.com/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 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/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 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/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 call \
 test-local-release \
 container
func (m *MyModule) Example() *dagger.Container  {
	return dag.
			Release().
			TestLocalRelease().
			Container()
}
@function
def example() -> dagger.Container:
	return (
		dag.release()
		.test_local_release()
		.container()
	)
@func()
example(): Container {
	return dag
		.release()
		.testLocalRelease()
		.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/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 call \
 test-local-release \
 existing-module
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			Release().
			TestLocalRelease().
			ExistingModule(ctx)
}
@function
async def example() -> None:
	return await (
		dag.release()
		.test_local_release()
		.existing_module()
	)
@func()
async example(): Promise<void> {
	return dag
		.release()
		.testLocalRelease()
		.existingModule()
}

newModule() 🔗

Test scaffolding a new module via the Go SDK and executing basic commands.

dagger module init was removed; scaffolding now lives in the installable go-sdk workspace module. This installs github.com/dagger/go-sdk, uses its init function (with the legacy template, i.e. the classic ContainerEcho/GrepDir example) to scaffold a module, then calls the generated module. dagger install and dagger call resolve the workspace root via a .git boundary, so the working directory is initialized as a repo first. The scaffolded module is not auto-registered in the workspace config, so it is invoked by path with -m.

Return Type
Void !
Example
dagger -m github.com/sipsma/dagger/toolchains/release@deb8691f38f37829fc0b8d952228bd9d6cebc429 call \
 test-local-release \
 new-module
func (m *MyModule) Example(ctx context.Context)   {
	return dag.
			Release().
			TestLocalRelease().
			NewModule(ctx)
}
@function
async def example() -> None:
	return await (
		dag.release()
		.test_local_release()
		.new_module()
	)
@func()
async example(): Promise<void> {
	return dag
		.release()
		.testLocalRelease()
		.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