release
A module that encodes the official release process of the Dagger Engine
Installation
dagger install github.com/matipan/dagger/toolchains/release@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fbaEntrypoint
Return Type
Release Example
dagger -m github.com/matipan/dagger/toolchains/release@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba 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
| Name | Type | Default Value | Description |
|---|---|---|---|
| engineVersion | String ! | - | The new required engine version |
Example
dagger -m github.com/matipan/dagger/toolchains/release@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba call \
bump --engine-version stringfunc (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
| Name | Type | Default Value | Description |
|---|---|---|---|
| githubOrgName | String ! | - | No description provided |
| githubToken | Secret | - | No description provided |
Example
dagger -m github.com/matipan/dagger/toolchains/release@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba 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(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
| 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/matipan/dagger/toolchains/release@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba 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)
}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 |
| goreleaserKey | Secret | - | No description provided |
| githubToken | Secret | - | No description provided |
| githubOrgName | String | - | No description provided |
| netlifyToken | Secret | - | No description provided |
| pypiToken | Secret | - | No description provided |
| pypiRepo | String | - | No description provided |
| npmToken | Secret | - | No description provided |
| hexApikey | Secret | - | No description provided |
| cargoRegistryToken | Secret | - | 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 |
| artefactsFqdn | String | - | No description provided |
| discordWebhook | Secret | - | No description provided |
Example
dagger -m github.com/matipan/dagger/toolchains/release@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba 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)
}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@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba call \
test-local-releasefunc (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@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba 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/matipan/dagger/toolchains/release@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba 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/matipan/dagger/toolchains/release@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba 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/matipan/dagger/toolchains/release@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba 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/matipan/dagger/toolchains/release@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba 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/matipan/dagger/toolchains/release@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba 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)
.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@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba 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/matipan/dagger/toolchains/release@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba 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/matipan/dagger/toolchains/release@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba call \
test-local-release \
containerfunc (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
| Name | Type | Default Value | Description |
|---|---|---|---|
| testdata | Directory | - | No description provided |
Example
dagger -m github.com/matipan/dagger/toolchains/release@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba call \
test-local-release \
existing-modulefunc (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@d5cfd46b94ef1750ae8c5f6e6bbdfb9fa3a03fba call \
test-local-release \
new-modulefunc (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 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