release
A module that encodes the official release process of the Dagger Engine
Installation
dagger install github.com/sipsma/dagger/toolchains/release@46679b13792aded66134d327dc291325c724e3f7Entrypoint
Return Type
Release Example
dagger -m github.com/sipsma/dagger/toolchains/release@46679b13792aded66134d327dc291325c724e3f7 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/sipsma/dagger/toolchains/release@46679b13792aded66134d327dc291325c724e3f7 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/sipsma/dagger/toolchains/release@46679b13792aded66134d327dc291325c724e3f7 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/sipsma/dagger/toolchains/release@46679b13792aded66134d327dc291325c724e3f7 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 |
| githubToken | Secret | - | No description provided |
| githubOrgName | String | - | No description provided |
| githubHost | String | - | No description provided |
| githubCaCert | File | - | No description provided |
| netlifyToken | Secret | - | No description provided |
| netlifyApiurl | String | - | No description provided |
| pypiToken | Secret | - | No description provided |
| pypiRepo | String | - | No description provided |
| pypiUrl | String | - | No description provided |
| npmToken | Secret | - | No description provided |
| npmRegistryUrl | String | - | No description provided |
| hexApikey | Secret | - | No description provided |
| hexApiurl | String | - | No description provided |
| cargoRegistryToken | Secret | - | No description provided |
| cargoRegistryIndex | String | - | No description provided |
| goSdkDestRemote | String | - | No description provided |
| phpSdkDestRemote | String | - | 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 |
| awsEndpointUrl | String | - | No description provided |
| artefactsFqdn | String | - | No description provided |
| helmRegistry | String | - | No description provided |
| discordWebhook | Secret | - | No description provided |
Example
dagger -m github.com/sipsma/dagger/toolchains/release@46679b13792aded66134d327dc291325c724e3f7 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)
}publishWithMockEndpoints() 🔗
Exercise the release publish path against local mock endpoints.
Return Type
Void !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| source | Directory | - | 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@46679b13792aded66134d327dc291325c724e3f7 call \
publish-with-mock-endpointsfunc (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@46679b13792aded66134d327dc291325c724e3f7 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/sipsma/dagger/toolchains/release@46679b13792aded66134d327dc291325c724e3f7 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/sipsma/dagger/toolchains/release@46679b13792aded66134d327dc291325c724e3f7 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/sipsma/dagger/toolchains/release@46679b13792aded66134d327dc291325c724e3f7 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/sipsma/dagger/toolchains/release@46679b13792aded66134d327dc291325c724e3f7 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/sipsma/dagger/toolchains/release@46679b13792aded66134d327dc291325c724e3f7 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/sipsma/dagger/toolchains/release@46679b13792aded66134d327dc291325c724e3f7 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/sipsma/dagger/toolchains/release@46679b13792aded66134d327dc291325c724e3f7 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/sipsma/dagger/toolchains/release@46679b13792aded66134d327dc291325c724e3f7 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/sipsma/dagger/toolchains/release@46679b13792aded66134d327dc291325c724e3f7 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/sipsma/dagger/toolchains/release@46679b13792aded66134d327dc291325c724e3f7 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 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@46679b13792aded66134d327dc291325c724e3f7 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