Dagger
Search

release

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

Installation

dagger install github.com/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045

Entrypoint

Return Type
Release
Example
dagger -m github.com/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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
goreleaserKeySecret -No description provided
githubTokenSecret -No description provided
githubOrgNameString -No description provided
netlifyTokenSecret -No description provided
pypiTokenSecret -No description provided
pypiRepoString -No description provided
npmTokenSecret -No description provided
hexApikeySecret -No description provided
cargoRegistryTokenSecret -No description provided
awsAccessKeyIdSecret -No description provided
awsSecretAccessKeySecret -No description provided
awsRegionString -No description provided
awsBucketString -No description provided
awsCloudfrontDistributionString -No description provided
artefactsFqdnString -No description provided
discordWebhookSecret -No description provided
Example
dagger -m github.com/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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)
}

testLocalRelease() 🔗

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

Return Type
Test !
Example
dagger -m github.com/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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 creating a new module and executing basic commands

Return Type
Void !
Example
dagger -m github.com/matipan/dagger/toolchains/release@5793a4c4776751e4085ab1a7b3cdb7aa35ee6045 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