release
A module that encodes the official release process of the Dagger Engine
Installation
dagger install github.com/matipan/dagger/toolchains/release@e004ad8f81ac206313fb704ac6567b1e23670b9eEntrypoint
Return Type
Release Example
dagger -m github.com/matipan/dagger/toolchains/release@e004ad8f81ac206313fb704ac6567b1e23670b9e 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@e004ad8f81ac206313fb704ac6567b1e23670b9e 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@e004ad8f81ac206313fb704ac6567b1e23670b9e 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@e004ad8f81ac206313fb704ac6567b1e23670b9e 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@e004ad8f81ac206313fb704ac6567b1e23670b9e 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@e004ad8f81ac206313fb704ac6567b1e23670b9e 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@e004ad8f81ac206313fb704ac6567b1e23670b9e 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@e004ad8f81ac206313fb704ac6567b1e23670b9e 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@e004ad8f81ac206313fb704ac6567b1e23670b9e 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@e004ad8f81ac206313fb704ac6567b1e23670b9e 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@e004ad8f81ac206313fb704ac6567b1e23670b9e 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@e004ad8f81ac206313fb704ac6567b1e23670b9e 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@e004ad8f81ac206313fb704ac6567b1e23670b9e 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@e004ad8f81ac206313fb704ac6567b1e23670b9e 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@e004ad8f81ac206313fb704ac6567b1e23670b9e 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@e004ad8f81ac206313fb704ac6567b1e23670b9e 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@e004ad8f81ac206313fb704ac6567b1e23670b9e 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